简体   繁体   English

从远程计算机执行SSIS

[英]Execute SSIS from remote machine

I need to execute an SSIS package from an .net application that's on a remote machine. 我需要从远程计算机上的.net应用程序执行SSIS包。 The machine running the application does not have SSIS installed. 运行该应用程序的计算机未安装SSIS。

I know this can be accomplished using T-SQL with xp_cmdshell http://www.databasejournal.com/features/mssql/article.php/3372131/Using-xpcmdshell.htm but am unable to use this approach because of security issues. 我知道可以使用带有xp_cmdshell的T-SQL http://www.databasejournal.com/features/mssql/article.php/3372131/Using-xpcmdshell.htm来完成此操作,但是由于安全问题,无法使用此方法。

I would like to put store this package as an Agent job on the remote server (running sql server 2008) and execute it though the Agent service. 我想将此软件包作为代理作业存储在远程服务器(运行sql server 2008)上,并通过代理服务执行。 I found an article about that here http://msdn.microsoft.com/en-us/library/ms403355.aspx#agent but am unable to find out how to pass the package in variables. 我在http://msdn.microsoft.com/zh-cn/library/ms403355.aspx#agent上找到了关于此的文章,但无法找到如何在变量中传递包。

These variables will change from each run and I know I could store them in the database and load them while executing the package but it seems a hacky solution. 这些变量将在每次运行时发生变化,我知道我可以将它们存储在数据库中并在执行程序包时加载它们,但这似乎是一个棘手的解决方案。 Is anyone aware of a work around for this? 有谁知道可以解决这个问题?

Have you considered/read about package configurations? 您是否考虑过/了解软件包配置? You may want to read that if you have not done so already. 如果您还没有读过,可能要读一读。 Also, read about the DTEXEC utility which is the command line SSIS executable. 另外,请阅读DTEXEC实用程序,它是命令行SSIS可执行文件。 You can easily pass variables through a batchfile and DTEXEC utility. 您可以轻松地通过批处理文件和DTEXEC实用程序传递变量。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM