Използвате удостоверяване на Windows, за да влезете в сървъра, така че той използва достъпа до акаунта на Windows от клиента, за да потвърди достъпа/разрешенията. Когато е в разработка, „клиентът“ наистина е сървърът за разработка на VS, но когато разположите на истински уеб сървър, „клиентът“ работи като друг акаунт, този, който се използва за стартиране на неговата услуга, НЕ вашият.
Често SQL сървърите се конфигурират при инсталиране, за да си позволите sysadmin
достъп, но почти нищо друго за други потребители, ето защо получавате отказ за достъп. Една от опциите би била да използвате SQL удостоверяване с потребител/парола. От гледна точка на сигурността това би бил най-добрият вариант, ако един и същ уеб сървър управлява много уебсайтове (тъй като те може да са изолирани един от друг данни).
Ако абсолютно искате да използвате Windows удостоверяване, истинското решение би било да дадете разрешения на вградения акаунт NT AUTHORITY\NETWORK SERVICE
в 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