Używasz uwierzytelniania systemu Windows, aby wejść do serwera, więc używa dostępu do konta systemu Windows od klienta do sprawdzania dostępu/uprawnień. Podczas opracowywania „klient” jest tak naprawdę serwerem deweloperskim VS, ale po wdrożeniu na prawdziwym serwerze internetowym „klient” działa jako inne konto, to, które jest używane do uruchamiania jego usługi, a NIE Twoje.
Często serwery SQL są konfigurowane podczas instalacji, aby umożliwić użytkownikowi sysadmin
dostęp, ale prawie nic innego dla innych użytkowników, dlatego otrzymujesz odmowę dostępu. Jedną z opcji byłoby użycie uwierzytelniania SQL z użytkownikiem/hasłem. Z punktu widzenia bezpieczeństwa byłaby to najlepsza opcja, jeśli ten sam serwer WWW obsługuje wiele stron internetowych (ponieważ mogą one być odizolowane od danych innych).
Jeśli absolutnie chcesz korzystać z uwierzytelniania Windows, prawdziwym rozwiązaniem byłoby nadanie uprawnień wbudowanemu kontu NT AUTHORITY\NETWORK SERVICE
w 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