Sie verwenden die Windows-Authentifizierung, um auf den Server zuzugreifen, sodass der Zugriff auf das Windows-Konto vom Client verwendet wird, um den Zugriff/die Berechtigungen zu validieren. In der Entwicklung ist der "Client" wirklich der VS-Entwicklungsserver, aber wenn Sie ihn auf einem echten Webserver bereitstellen, wird der "Client" als ein anderes Konto ausgeführt, das zum Starten des Dienstes verwendet wird, NICHT Ihres.
Häufig werden SQL-Server bei der Installation so konfiguriert, dass Sie sich sysadmin
erlauben Zugriff, aber kaum etwas anderes für andere Benutzer, deshalb erhalten Sie eine Zugriffsverweigerung. Eine Option wäre die Verwendung der SQL-Authentifizierung mit Benutzer/Passwort. Aus Sicherheitsgründen wäre dies die beste Option, wenn derselbe Webserver viele Websites betreibt (da sie möglicherweise von den Daten der anderen isoliert sind).
Wenn Sie unbedingt die Windows-Authentifizierung verwenden möchten, wäre die wirkliche Lösung, dem integrierten Konto NT AUTHORITY\NETWORK SERVICE
Berechtigungen zu erteilen bei 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