我正在尝试通过本地 IIS 中托管的 WCF 服务调用 SQL Server 2012(本地安装)中的 SSIS 包。WCF 服务正在使用 tcp 绑定,并且 IIS 应用程序池在 NETWORKSERVICE 下运行。我正在使用控制台应用程序来测试 WCF 服务。控制台应用程序调用 WCF 服务后,WCF 服务尝试调用本地 SQL Server 上的 SSIS 包并抛出“System.Data.SqlClient.SqlException:用户 'MYDOMAIN\MYMACHINENAME$' 登录失败”。
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