Um de nossos usuários de outro domínio WATSON
recebeu a seguinte mensagem de erro:
Exception Details: System.Data.SqlClient.SqlException: Login failed for user 'WATSON\User1'.
quando ele está tentando acessar um de nossos aplicativos da web que recuperam informações de um banco de dados.
O aplicativo da Web e o banco de dados que o aplicativo da Web usa estão localizados em um Windows Server 2008 R2. O nome da máquina é Jack11
e ingressou no domínio WATSON
. O aplicativo da Web é hospedado no IIS enquanto o banco de dados é hospedado no SQL Server 2008 Enterprise.
Preciso configurar meu SQL Server 2008 Enterprise para permitir que o usuário do domínio, como neste caso WATSON\User1
(não o usuário local), acesse o aplicativo da Web que usa qualquer banco de dados dentro do SQL Server 2008?
(Observe que pode haver mais de 50 usuários de domínio que podem ser necessários para acessar o aplicativo da web e, portanto, seria ineficiente adicionar cada usuário de domínio aos direitos de usuário do banco de dados)
Para autenticar em um recurso em outro domínio, deve haver um domínio confiável estabelecido (pergunte aos administradores de sistema do Windows) ou a autenticação de passagem deve ser usada (provavelmente não neste caso). Isso é verdade para o Windows em geral, não apenas para o SQL Server.
Se não houver um login de usuário ou grupo do Windows existente para o usuário, sim, você precisará criar um novo login.
Concordo - com esse tipo de cenário, recomendo configurar um grupo no AD e, em seguida, criar um login de grupo do Windows no SQL Server. Dessa forma, o acesso é controlado pela associação ao grupo AD e você não precisa mexer na alteração de logins no SQL Server depois de configurado.
O SQL Server 2008 sempre dá suporte à autenticação do Windows, local ou de domínio. No entanto, usuários individuais precisam receber acesso. No SSMS, conecte-se à instância e espere Security, em seguida, Logins. Se o usuário ou um grupo em que ele está listado, ele já tem acesso ao servidor e há outro problema. Uma mensagem de erro mais detalhada com um código de estado será encontrada no log SQL. A página a seguir lista os diferentes estados de erros de falha de login e o que eles significam: http://msdn.microsoft.com/en-us/library/ms366351%28v=SQL.100%29.aspx
Se o usuário precisar ter acesso, clique com o botão direito do mouse em "Logins" e preencha a caixa de diálogo que aparece. Certifique-se de conceder a eles acesso aos objetos de que precisam por meio de uma função de servidor, uma função de banco de dados em "Mapeamento de usuário" ou para objetos específicos após a criação do login.