O acesso ao banco de dados do SQL Server falha quando o usuário recebe acesso via grupo de domínio

O acesso ao banco de dados do SQL Server falha quando o usuário recebe acesso via grupo de domínio

Em um SQL Server 2008 R2 (em execução no Win2003), temos um problema com logins por meio de grupos de domínio - o acesso de login é concedido à instância do servidor, mas não é possível acessar determinados bancos de dados no servidor.

A máquina do servidor SQL é membro do nosso domínio AD, mas não é um controlador de domínio. Estamos usando a autenticação do Windows no SQL Server.

Criamos logins do SQL Server para grupos de domínio. Definimos os mapeamentos de usuários para um banco de dados XXX nesse servidor, habilitamos as funções datareader, datawriter e ddladmin. O que acontece então é que os usuários do domínio que são membros desses grupos podem se conectar ao SQL Server, mas não a este banco de dados XXX. Se o usuário "usuário1" tentar se conectar, ele receberá o erro "Não é possível abrir o banco de dados 'XXX' solicitado pelo login. Falha no login. Falha no login do usuário 'domínio\usuário1'."

Se eu adicionar manualmente 'domínio \ usuário1' ao banco de dados XXX e ativar as funções de leitor de dados e gravador de dados, o usuário1 não terá problemas para se conectar.

Curiosamente, o usuário1 pode se conectar a outros 2 bancos de dados no mesmo servidor - também aqui por meio de um grupo de domínio AD, mas um grupo diferente criado anteriormente, e o usuário NÃO está configurado individualmente como usuário nesses bancos de dados. Esses bancos de dados foram copiados de uma instalação mais antiga do SQL Server 2005 via detach-attach e estavam funcionando bem no SQL-2005 e também funcionam bem agora no servidor SQL-2008 R2. (Eles mostram a mesma conta de usuário como proprietário nas propriedades do banco de dados do banco de dados problemático XXX.)

O banco de dados XXX é um novo banco de dados criado nesse servidor R2 e o grupo de domínios AD também é novo.

Posso adicionar os usuários manualmente como solução alternativa por enquanto, mas isso não funcionará para sempre e preciso de uma dica sobre o que está errado aqui. Dados adicionais – o serviço SQL Server é executado em uma conta de administrador de domínio.

Encontrei um artigo que descreve exatamente esse mesmo problema para o SQL Server 2005:https://connect.microsoft.com/SQLServer/feedback/details/248615/login-fails-when-user-is-granted-access-via-a-domain-group Mas isso é de 2006, não contém nenhuma pista sobre uma solução e deve-se presumir que foi corrigido.

Responder1

Conclua à parte: executar o SQL Server como administrador de domínio não é uma prática recomendada. Você pode considerar a execução do SQL como um usuário de domínio sem privilégios.

Quanto aos usuários que podem acessar bancos de dados movidos via desanexação/anexação - os SIDs viajam com o banco de dados.

Se eu tivesse que adivinhar, com base no comportamento, diria que o SQL está tendo problemas para determinar a associação ao grupo ou que faltam as permissões nos próprios bancos de dados.

Você pode querer obter SELECT * FROM sys.database_principalsmais informações sobre seus bancos de dados específicos e certificar-se de que seu grupo de domínio esteja lá.

Responder2

Se eu tivesse que adivinhar, seus usuários não estão fazendo logoff e logon novamente após serem adicionados ao grupo que você está usando como login SQL. O token de acesso de um usuário não é atualizado com a nova associação ao grupo até que o usuário efetue logoff e logon novamente em sua estação de trabalho. Isso explicaria por que os grupos mais antigos funcionam, mas o novo que você está testando não.

informação relacionada