我正在尝试通过本地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帐户调用Integration服务。我已经为NETWORKSERVICE和MYDOMAIN \ MYMACHINENAME $创建了SQL登录,并授予他们对数据库的dbo权限,并将dbo + ssis_admin授予SSIS目录数据库SSISDB。根据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 :(得分:0)
当您说“我为NETWORKSERVICE和MYDOMAIN \ MYMACHINENAME $创建了SQL登录”时,您实际上是指您创建了SQL Server身份验证登录还是基于这些Windows帐户创建了登录?
如果您通过网络访问SQL Server,则需要使用Windows身份验证为domain \ servername $创建登录,而不是SQL登录。