Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

sql server 2008 Login falhou para o usuário 'NT AUTHORITY\NETWORK SERVICE'


Você está usando a autenticação do Windows para entrar no servidor, portanto, ele usa o acesso à conta do Windows do cliente para validar o acesso/permissões. Quando em desenvolvimento, o "cliente" é realmente o servidor de desenvolvimento do VS, mas quando você implanta em um servidor web real, o "cliente" é executado como outra conta, aquela que é usada para iniciar o serviço dele, NÃO a sua.

Muitas vezes, os SQL Servers são configurados na instalação para permitir que você sysadmin acesso, mas quase nada para outros usuários, é por isso que você obtém um acesso negado. Uma opção seria usar autenticação SQL com usuário/senha. Em termos de segurança, essa seria a melhor opção se o mesmo servidor da Web executar muitos sites (pois eles podem estar isolados dos dados uns dos outros).

Se você realmente deseja usar a autenticação do Windows, a solução real seria conceder permissões à conta interna NT AUTHORITY\NETWORK SERVICE em SSMS:
CREATE LOGIN [NT AUTHORITY\NETWORK SERVICE] FROM WINDOWS WITH DEFAULT_DATABASE=[RESv5]
GO
USE [RESv5]
GO
CREATE USER [NT AUTHORITY\NETWORK SERVICE] FOR LOGIN [NT AUTHORITY\NETWORK SERVICE]
GO
ALTER ROLE [db_owner] ADD MEMBER [NT AUTHORITY\NETWORK SERVICE]
GO