¿Cómo crear el inicio de sesión del servidor SQL para una cuenta de dominio?

14

Todos,

Tengo Sql Server 2008 instalado en un servidor (digamos Servidor1 ) en un Dominio (digamos AD ). También tengo una cuenta de dominio llamada AD \ Sql1 . Esta no es una cuenta de administrador en el dominio ( AD ), pero quiero que sea un administrador en el servidor1 . Y luego cree un inicio de sesión en el servidor SQL para esa cuenta de dominio (no cuenta local).

¿Cómo puedo hacer eso?

Preguntas:

  1. El usuario AD \ SQL1 , lo quiero como administrador de servidor 1 . Para eso, ¿acabo de crear una cuenta local con el mismo nombre de usuario (digamos, Server1 \ Sql1 ) y convertir la cuenta local en un administrador en la máquina. ¿Se asignará automáticamente esa cuenta local a la cuenta de dominio con el mismo nombre? Tal vez debería agregar aquí que CREATE LOGIN [AD\Sql1] FROM WINDOWSno funcionó para mí. Intenté y recibí un error que decía user does not exist in Windows(algo así)
  2. Ahora, si la técnica anterior funciona. Supongamos que AD \ Sql1 se convierte en administrador en Sever1 . Entonces, en teoría, no necesito crear un inicio de sesión SQL para esa cuenta de dominio de Windows en el servidor SQL, ¿verdad? Todos los administradores locales que forman parte de BUILTIT \ Admins tienen automáticamente acceso de administrador de sistemas a SQL Server, ¿verdad?

¿Qué hice mal? Comparta cualquier URL que pueda explicar mejor este concepto.

Editar: también debo agregar que las Preguntas 1 y 2 son importantes de forma independiente. Sé cómo agregar una cuenta de dominio / Windows como sysadmin. Pero estoy interesado en cómo funciona la asignación entre el dominio y las cuentas locales. Mi objetivo aquí no es cómo agregar una cuenta local como administrador de sistemas, puedo hacerlo rápidamente. Mi intención no es ser grosero, sino ser lo más claro posible. Si mi pregunta aún no está clara, hágamelo saber para que pueda agregar más detalles.

Gracias,
_UB

Editar: Gramática

UB01
fuente

Respuestas:

13

No cree una cuenta local con el mismo nombre que la cuenta de dominio. Si desea agregar un inicio de sesión de dominio como un administrador SQL, haga lo siguiente:

  • cree un inicio de sesión para la cuenta de dominio: create login [AD\Sql1] from windows;
  • agregue el inicio de sesión al grupo sysadmin: exec sp_addsrvrolemember 'AD\Sql1', 'sysadmin';

Hecho. Obtendría el mismo resultado si simplemente agregara la AD\Sqlcuenta a los administradores locales a través de net localgroup Administrators /add AD\Sql1(desde un shell CMD) pero esa no es la solución correcta ya que otorga AD\Sql1todos los privilegios de administrador de NT además de otorgarle administrador SQL, que no es declarado como requisito, por lo tanto, es una elevación innecesaria. Por cierto, la regla de que los miembros del grupo de administradores locales son administradores de SQL no está implícita, es un privilegio explícito otorgado por defecto durante la instalación de SQL y se puede revocar, por lo que debe verificarlo.

Remus Rusanu
fuente
Gracias, este comentario tiene información que podría usar. Pero tengo una pregunta de seguimiento. cuando intenté agregar el inicio de sesión SQL usando CREATE LOGIN [AD\Sql1] FROM WINDOWS, recibí un error que decía que el usuario no existe en Windows. Entonces, tuve que agregarlo como solía a la máquina local (entonces funciona).
UB01
Analizaré el punto que mencionó sobre '... los administradores locales están por defecto sysasminsen la máquina'. Gracias, leeré sobre eso. Pero, ¿cómo funciona el mapeo? Entre cuentas de dominio y cuentas locales con el mismo nombre.
UB01
Si la máquina donde está instalada la instancia de SQL Server, es parte del dominio, debería poder agregar una cuenta de dominio sin ningún problema.
JackLock
Está bien, eso es lo que pensé, pero seguí recibiendo este error: ...user could not be found in windows. Puede haber algo más sucediendo. Voy a revisar de nuevo.
UB01
1
Recibí un error que indica que el usuario no existe en Windows : eso significa que su máquina host de SQL no es miembro de los dominios AD, o miembro de un dominio que confía AD. Debe agregar la máquina al dominio AD. Ahora está siguiendo el enfoque de las 'cuentas duplicadas NT' (tal vez sin saber que lo está haciendo ...) y este es un enfoque incorrecto. Agregue la máquina de alojamiento SQL al dominio AD.
Remus Rusanu
2

Conéctese a su instancia en SSMS. Expandir seguridad / inicios de sesión. Rt-click agregar nuevo inicio de sesión, poner en la información. En los roles de servidor, concédale sysadmin si desea que tenga poder total sobre la instancia de SQL. Hecho. Esta cuenta no necesita ser administrador local en su máquina Windows para ser administrador del sistema en SQL Server.

Eric Higgins
fuente
Gracias por el comentario rápido. Entiendo el concepto que transmitiste en tu respuesta. Mi pregunta (puede que no sea muy clara) es entender cómo funciona la relación (o mapeo) entre las cuentas de dominio y las cuentas locales. Y cómo eso afecta al servidor SQL.
UB01
Se crea un SID en la base de datos maestra para cualquier cuenta, dominio o solo cuentas de SQL Server.
Eric Higgins
SID created for each account..Es un concepto que entiendo. Permíteme darte un ejemplo: es la AD\Sql1misma cuenta que Server1\Sql1en el servidor. ¿Cada uno tiene un ID de seguridad separado que se asigna para que el sistema operativo sepa que son uno y lo mismo? ¿Esto incluso sucede? (Solo estoy adivinando, no lo sé)
UB01
Veo. Estás más tratando de entender los créditos de Windows, creo. AD y las cuentas locales de Windows no son lo mismo (incluso si el nombre es el mismo). Aquí hay información sobre cómo funcionan los SID de dominio y los tokens de acceso. Espero que esto ayude: technet.microsoft.com/en-us/library/cc785913(v=ws.10).aspx
Eric Higgins
Gracias, leeré ese artículo y veré si eso me ayuda a comprender mejor los conceptos.
UB01