2013-06-05 123 views
0

我想通過本地IIS中託管的WCF服務調用SQL Server 2012中的SSIS包(本地安裝)。 WCF服務使用tcp綁定,IIS應用程序池在NETWORKSERVICE下運行。我正在使用控制檯應用程序來測試WCF服務。控制檯應用程序調用WCF服務後,WCF服務將嘗試調用本地SQL Server上的SSIS包,並引發「System.Data.SqlClient.SqlException:用戶登錄失敗'MYDOMAIN \ MYMACHINENAME $'」。從WCF服務(tcp綁定)調用SSIS包

WCF服務在SQL Server連接字符串中使用集成安全性,因爲無法使用SQL帳戶調用集成服務。我爲NETWORKSERVICE和MYDOMAIN \ MYMACHINENAME $創建了SQL登錄名,並授予他們對數據庫的dbo權限,並將其授予SSIS目錄數據庫SSISDB的dbo + ssis_admin。根據MSDN,創建SQL登錄應該可以工作,但它不起作用(http://msdn.microsoft.com/en-us/library/ms998320.aspx#paght000015_sqlserver)。

是否還有其他需要在SQL Server中完成以允許帳戶訪問? 在開發和生產中,計劃是創建一個域服務帳戶並運行該服務帳戶下的應用程序池。這種方法有沒有其他選擇?

我的環境信息如下。預先感謝您的幫助。

Windows 7企業版
SQL Server 2012中
SSIS 2012
.NET 4.5

回答

0

當你說 「我已經創造了NETWORKSERVICE和MYDOMAIN \ MYMACHINENAME $ SQL登錄」 你實際上意味着你創建的SQL服務器驗證登錄或您是否基於這些Windows帳戶創建登錄?

如果您通過網絡訪問SQL Server,則需要使用Windows身份驗證爲domain \ servername $創建登錄,而不是SQL登錄名。