我有一個簡單的WCF項目,它使用實體框架訪問AdventureWorks數據庫。它實際上出了一本書Windows Communication Foundation 4: Step by Step.
部署到IIS時,WCF /實體框架與外部SQL Server數據庫不起作用
問題在於SQL Server數據庫不是本地SQL Server Express實例,而是名爲win01s305
的外部計算機上的完整SQL Server 2008 R2實例。我通過Generate from Database
從外部數據庫創建了一個數據模型。在我將WCF服務發佈到IIS之前,數據訪問完全與內置的ASP.NET Web服務器(Cassini?)一起工作。然後,憑據/帳戶在遠程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。我怎樣才能做到這一點?
您是否有一個腳本示例以授予SQL Server中的域用戶權限? –
您可以在SQL Management Studio GUI中輕鬆完成。如果您選擇,您也可以從那裏生成腳本。我也爲你編輯了我的答案。 – JamieSee