Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

sql server 2008 La connexion a échoué pour l'utilisateur 'NT AUTHORITY\NETWORK SERVICE'

Vous utilisez l'authentification Windows pour accéder au serveur, il utilise donc l'accès au compte Windows du client pour valider l'accès/les autorisations. En développement, le "client" est vraiment le serveur de développement VS, mais lorsque vous déployez sur un vrai serveur Web, le "client" s'exécute sous un autre compte, celui qui est utilisé pour démarrer son service, PAS le vôtre.

Souvent, les serveurs SQL sont configurés lors de l'installation pour vous permettre sysadmin accès, mais presque rien d'autre pour les autres utilisateurs, c'est pourquoi vous obtenez un accès refusé. Une option serait d'utiliser l'authentification SQL avec utilisateur/mot de passe. Du point de vue de la sécurité, ce serait la meilleure option si le même serveur Web exécute plusieurs sites Web (car ils peuvent être isolés les uns des autres).

Si vous voulez absolument utiliser l'authentification Windows, la vraie solution serait de donner des permissions au compte intégré NT AUTHORITY\NETWORK SERVICE chez 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