从WCF服务调用SSIS包(TCP绑定) [英] Invoking SSIS Package from WCF service (tcp binding)

查看:154
本文介绍了从WCF服务调用SSIS包(TCP绑定)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图通过托管在本地IIS WCF服务调用的SSIS包在SQL Server 2012(本地安装)。 WCF服务是使用TCP绑定和IIS应用程序池NETWORKSERVICE下运行。我使用一个控制台应用程序来测试WCF服务。后控制台应用程序调用WCF服务,WCF服务将尝试在本地SQL Server上调用SSIS包,并抛出一个System.Data.SqlClient.SqlException:在登录失败,用户MYDOMAIN \ MYMACHINENAME $'。

I'm trying to invoke an SSIS package in SQL Server 2012 (local installation) via a WCF service hosted in local IIS. The WCF Service is using tcp binding and the IIS app pool is running under NETWORKSERVICE. I'm using a console application to test the WCF service. After the console application calls the WCF service, the WCF service attempts to invoke a SSIS package on the local SQL Server and throws a "System.Data.SqlClient.SqlException: Login failed for user 'MYDOMAIN\MYMACHINENAME$'."

WCF服务使用集成的安全性的SQL Server连接字符串中,因为集成服务不能使用SQL帐户进行调用。我已经创建SQL登录为NETWORKSERVICE和MYDOMAIN \ MYMACHINENAME $,并授予他们DBO权限的数据库和DBO + ssis_admin到SSIS目录数据库SSISDB。根据MSDN,创建SQL登录应该工作,但它不能正常工作( HTTP ://msdn.microsoft.com/en-us/library/ms998320.aspx#paght000015_sqlserver )。

The WCF service uses integrated security in the SQL Server connection string because Integration services cannot be invoked using sql accounts. I've created SQL logins for NETWORKSERVICE and MYDOMAIN\MYMACHINENAME$ and granted them dbo permissions to the databases and dbo + ssis_admin to the SSIS Catalog database SSISDB. As per MSDN, creating the SQL logins should work but it is not working (http://msdn.microsoft.com/en-us/library/ms998320.aspx#paght000015_sqlserver).

是否有需要在SQL Server上完成,以允许该帐户访问别的什么吗? 在开发和生产计划是创建一个域服务帐户并运行服务帐户下的应用程序池。有没有这种方法的任何替代方案?

Is there anything else that needs to be done in SQL Server to allow the account access? In dev and production the plan is to create a domain service account and run the app pool under the service account. Are there any alternatives to this approach?

我的环境信息如下。预先感谢您的帮助。

My environment information is below. Thank you in advance for your help.

Windows 7企业版
SQL Server 2012的
SSIS 2012
.NET 4.5

Windows 7 Enterprise
SQL Server 2012
SSIS 2012
.NET 4.5

推荐答案

当你说我已经创建SQL登录为NETWORKSERVICE和MYDOMAIN \ MYMACHINENAME $你实际上意味着你创建的SQL Server验证的登录还是你创建登录基于这些Windows帐户?

When you say "I've created SQL logins for NETWORKSERVICE and MYDOMAIN\MYMACHINENAME$" do you actually mean you created SQL Server authenticated logins or did you create logins based on these Windows accounts?

如果您通过网络访问SQL服务器,那么你需要使用Windows身份验证域\服务器名称$创建一个登录名,而不是一个SQL登录。

If you are accessing the SQL server across the network, then you need to create a login using Windows authentication for domain\servername$, not a SQL login.

这篇关于从WCF服务调用SSIS包(TCP绑定)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆