Como criar o logon do Sql Server para uma conta de domínio?


14

Todos,

Eu tenho o Sql Server 2008 instalado em um servidor (digamos Server1 ) em um domínio (digamos AD ). Eu também tenho uma conta de domínio chamada AD \ Sql1 . Esta não é uma conta de administrador no domínio ( AD ), mas quero que seja um administrador no Server1 . E, em seguida, crie um logon no Sql Server para a conta do domínio (não a conta local).

Como faço isso?

Questões:

  1. O usuário AD \ Sql1 , eu quero ele como Admin no Server1 . Para isso, basta criar uma conta local com o mesmo nome de usuário (digamos, Server1 \ Sql1 ) e tornar a conta local um administrador na máquina. Essa conta local será mapeada automaticamente para a conta de domínio com o mesmo nome? Pode ser que devo acrescentar aqui que CREATE LOGIN [AD\Sql1] FROM WINDOWSnão funcionou para mim. Eu tentei e recebi um erro dizendo user does not exist in Windows(algo assim)
  2. Agora, se a técnica acima funcionar. Vamos supor, AD \ Sql1 , se torne um administrador no Sever1 . Então, em teoria, não preciso criar um logon Sql para essa conta de domínio do Windows no Sql Server, certo? Todos os administradores locais que fazem parte de BUILTIT \ Admins têm acesso sysadmin automaticamente ao Sql Server, certo?

Onde é que eu me enganei? Compartilhe os URLs que possam explicar melhor esse conceito.

Editar: devo acrescentar também que as perguntas 1 e 2 são importantes de forma independente. Eu sei como adicionar uma conta de domínio / Windows como sysadmin. Mas estou interessado em saber como o mapeamento funciona entre o domínio e as contas locais. Meu objetivo aqui não é como adicionar uma conta local como sysadmin, posso fazer isso rapidamente. Minha intenção não é ser rude, mas ser o mais claro possível. Se minha pergunta ainda não estiver clara, entre em contato para que eu possa adicionar mais detalhes.

Obrigado,
_UB

Editar: Gramática

Respostas:


13

Não crie uma conta local com o mesmo nome que a conta de domínio. Se você deseja adicionar um login de domínio como administrador de sql, faça o seguinte:

  • crie um login para a conta do domínio: create login [AD\Sql1] from windows;
  • adicione o logon ao grupo sysadmin: exec sp_addsrvrolemember 'AD\Sql1', 'sysadmin';

Feito. Você alcançaria o mesmo resultado se simplesmente adicionasse a AD\Sqlconta aos administradores locais via net localgroup Administrators /add AD\Sql1(de um shell CMD), mas essa não é a solução correta, pois concede AD\Sql1todos os privilégios de administrador do NT, além de conceder a ele o administrador SQL, o que não é declarado como um requisito, portanto, é uma elevação desnecessária. BTW, a regra de que os membros do grupo local de Administradores são administradores do SQL não está implícita, é um privilégio explícito concedido por padrão durante a Instalação do SQL e pode ser revogada para que você precise verificar isso.


Obrigado, este comentário tem algumas informações que eu poderia usar. Mas eu tenho uma pergunta de acompanhamento. quando tentei adicionar o login sql usando CREATE LOGIN [AD\Sql1] FROM WINDOWS, recebi um erro dizendo que o usuário não existe no Windows. Então, eu tive que adicioná-lo como usado para a máquina local (então funciona).
UB01 28/03

Analisarei o ponto que você mencionou sobre '..os administradores locais estão por padrão sysasminsna máquina'. Obrigado, vou ler sobre isso. Mas como funciona o mapeamento? Entre contas de domínio e contas locais com o mesmo nome.
UB01 28/03

Se a máquina em que a instância do SQL Server estiver instalada fizer parte do domínio, você poderá adicionar uma conta de domínio sem nenhum problema.
21412 JackLock

Ok, isso é o que eu pensava, mas eu continuei recebendo este erro: ...user could not be found in windows. Pode haver algo mais acontecendo. Vou verificar novamente.
UB01 28/03

1
Ocorreu um erro ao dizer que o usuário não existe no Windows : isso significa que sua máquina host SQL não é membro dos domínios do AD ou de um domínio confiável AD. Você deve adicionar a máquina ao domínio do AD. Agora você está adotando a abordagem chamada 'contas espelhadas do NT' (talvez sem saber que está fazendo isso ...) e essa é uma abordagem errada. Adicione a máquina de hospedagem SQL ao domínio do AD.
Remus Rusanu 28/03

2

Conecte-se à sua instância no SSMS. Expanda segurança / logins. Clique com o botão direito do mouse em adicionar novo login, insira as informações. Nas funções de servidor, conceda a sysadmin se desejar que ele tenha poder total sobre a instância SQL. Feito. Esta conta não precisa ser administrador local na sua máquina Windows para ser sysadmin no SQL Server.


Obrigado pelo comentário rápido. Entendo o conceito que você transmitiu em sua resposta. Minha pergunta (pode não estar muito clara) é entender como a relação (ou mapeamento) funciona entre contas de domínio e contas locais. E como isso afeta o Sql Server.
UB01

Um SID é criado no banco de dados mestre para todas as contas, domínio ou contas apenas do SQL Server.
Eric Higgins

SID created for each account..é um conceito que eu entendo. Deixe-me dar um exemplo: a conta é AD\Sql1igual Server1\Sql1à do servidor. Cada um tem um ID de segurança separado que é mapeado para que o SO saiba que eles são o mesmo? Isso acontece mesmo? (Eu só estou supondo, eu não sei)
UB01

Entendo. Você está mais tentando entender os creds do Windows, eu acho. O AD e as contas locais do Windows não são iguais (mesmo que o nome seja o mesmo). Aqui estão algumas informações sobre como os SIDs de domínio e os tokens de acesso funcionam. Espero que isso ajude: technet.microsoft.com/en-us/library/cc785913(v=ws.10).aspx
Eric Higgins

Obrigado, vou ler esse artigo e ver se isso me ajuda a entender melhor os conceitos.
UB01 28/03
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.