У меня есть простой проект WCF, который использует Entity Framework для доступа к базе данных AdventureWorks. Это на самом деле из книги Windows Communication Foundation 4: Step by Step.
Проблема в том, что база данных SQL Server не является локальным экземпляром SQL Server Express, а является полным экземпляром SQL Server 2008 R2 на внешней машине с именем win01s305
. Я создал модель данных из внешней базы данных с помощью Generate from Database
. Доступ к данным полностью работает со встроенным веб-сервером ASP.NET (Cassini?), Пока я не опубликую службу WCF в IIS. Тогда учетные данные / учетная запись различаются на удаленном компьютере с SQL-сервером, и доступ к данным перестает работать.
В книге указывается сценарий, если у вас возникли проблемы:
USE [AdventureWorks]
GO
CREATE USER [IIS APPPOOL\DefaultAppPool] FOR LOGIN [IIS APPPOOL\DefaultAppPool]
GO
EXEC sp_addrolemember N'db_owner', [IIS APPPOOL\DefaultAppPool]
GO
GO
CREATE USER [IIS APPPOOL\ASP.NET v4.0] FOR LOGIN [IIS APPPOOL\ASP.NET v4.0]
GO
EXEC sp_addrolemember N'db_owner', [IIS APPPOOL\ASP.NET v4.0]
GO
Проблема в том, что эти учетные записи НЕ существуют на удаленном компьютере с SQL Server. На машине нет IIS или .NET Framework, только SQL Server. Как я могу это сделать?