Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

sql server 2008 Accesso non riuscito per l'utente 'NT AUTHORITY\NETWORK SERVICE'

Stai utilizzando l'autenticazione di Windows per accedere al server, quindi utilizza l'accesso all'account Windows dal client per convalidare l'accesso/le autorizzazioni. Durante lo sviluppo, il "client" è in realtà il server di sviluppo VS, ma quando esegui il deployment su un server Web reale, il "client" viene eseguito come un altro account, quello utilizzato per avviare il suo servizio, NON il tuo.

Spesso gli SQL Server sono configurati al momento dell'installazione per consentire a se stessi di sysadmin accesso, ma a malapena nient'altro per altri utenti, ecco perché si ottiene un accesso negato. Un'opzione sarebbe quella di utilizzare l'autenticazione SQL con utente/password. Dal punto di vista della sicurezza, questa sarebbe l'opzione migliore se lo stesso server Web gestisce molti siti Web (poiché potrebbero essere isolati l'uno dai dati dell'altro).

Se vuoi assolutamente utilizzare l'autenticazione di Windows, la vera soluzione sarebbe quella di concedere i permessi all'account integrato NT AUTHORITY\NETWORK SERVICE a 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