U gebruikt Windows-verificatie om toegang te krijgen tot de server, dus het gebruikt de Windows-accounttoegang van de client om toegang/machtigingen te valideren. Wanneer in ontwikkeling, is de "client" echt de VS-ontwikkelserver, maar wanneer u implementeert op een echte webserver, wordt de "client" uitgevoerd als een ander account, degene die wordt gebruikt om de service te starten, NIET de uwe.
Vaak zijn SQL-servers bij de installatie geconfigureerd om uzelf sysadmin
. toe te staan toegang, maar nauwelijks iets anders voor andere gebruikers, daarom krijgt u een toegang geweigerd. Een optie zou zijn om SQL-authenticatie te gebruiken met gebruiker/wachtwoord. Wat de beveiliging betreft, zou dit de beste optie zijn als dezelfde webserver veel websites draait (omdat ze van elkaars gegevens kunnen worden geïsoleerd).
Als u absoluut Windows-verificatie wilt gebruiken, zou de echte oplossing zijn om machtigingen te geven aan het ingebouwde account NT AUTHORITY\NETWORK SERVICE
bij 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