Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 远程检索和执行可用的SSIS包_Sql Server_Ssis - Fatal编程技术网

Sql server 远程检索和执行可用的SSIS包

Sql server 远程检索和执行可用的SSIS包,sql-server,ssis,Sql Server,Ssis,我想开发一个ASP.NET站点,用户可以在其中选择SSIS包,提供一些参数并执行它 我读过这篇文章,所以从服务器x运行由服务器y远程调用的SSIS包的唯一方法似乎是使用SQL server代理或编写手工制作的Web服务这是正确的还是我遗漏了什么 如果选择使用SQL Server Agent,是否需要为要执行的每个包创建作业?另外,我是否能够远程读取所有可用的SSIS包?如果您使用的是SQL2012或更高版本,则可以使用目录。搜索SSIDB将获得大量文章 通过这种方式,您的web应用程序可以查询目

我想开发一个
ASP.NET
站点,用户可以在其中选择
SSIS包
,提供一些参数并执行它

我读过这篇文章,所以从服务器x运行由服务器y远程调用的
SSIS包
的唯一方法似乎是使用
SQL server代理
或编写手工制作的Web服务这是正确的还是我遗漏了什么


如果选择使用
SQL Server Agent
是否需要为要执行的每个包创建作业?另外,我是否能够远程读取所有可用的SSIS包?

如果您使用的是SQL2012或更高版本,则可以使用目录。搜索SSIDB将获得大量文章


通过这种方式,您的web应用程序可以查询目录,以找出可用于填充表单的包和参数。然后,您可以从应用程序发出TSQL语句以开始运行包。

如果您使用的是SQL2012或更高版本,则可以使用目录。搜索SSIDB将获得大量文章


通过这种方式,您的web应用程序可以查询目录,以找出可用于填充表单的包和参数。然后,您可以从应用程序发出一个TSQL语句来启动包运行。

是的,您错过了另一种调用的方法

或远程组件来启动远程计算机上的包

对我来说,这就像

正如您所发现的,SQL代理的挑战有两个方面。首先,一次只能运行作业的一个实例。也许您的网页一次只允许/假设一个用户运行FoobitzLoader.dtsx,但通常网站允许多个用户执行一个操作

第二个挑战(也许这是可取的)是代理作业的运行是异步的。这个过程看起来像

  • 请开始工作X
  • 好了,开始了
因此,现在您正在轮询msdb.dbo.sysjobhistory(我认为)表,寻找完整的流程。也许这就是你想要的。也许不是。通过PsExec调用SSIS包的方式与“正常”类似

  • 请开始工作X
  • 好了,开始了
  • 我们正在验证
  • 我们已经加载了行
  • 我们加载了更多行
  • 包已成功完成

这可能是一件好事,也可能不是一件好事,因为您的用户可能会在进程运行时关闭网页,从而终止dtexec进程。不确定您的用例,但这可能是您想要防止的事情。

是的,您错过了另一种被称为

或远程组件来启动远程计算机上的包

对我来说,这就像

正如您所发现的,SQL代理的挑战有两个方面。首先,一次只能运行作业的一个实例。也许您的网页一次只允许/假设一个用户运行FoobitzLoader.dtsx,但通常网站允许多个用户执行一个操作

第二个挑战(也许这是可取的)是代理作业的运行是异步的。这个过程看起来像

  • 请开始工作X
  • 好了,开始了
因此,现在您正在轮询msdb.dbo.sysjobhistory(我认为)表,寻找完整的流程。也许这就是你想要的。也许不是。通过PsExec调用SSIS包的方式与“正常”类似

  • 请开始工作X
  • 好了,开始了
  • 我们正在验证
  • 我们已经加载了行
  • 我们加载了更多行
  • 包已成功完成

这可能是一件好事,也可能不是一件好事,因为您的用户可能会在进程运行时关闭网页,从而终止dtexec进程。不确定您的用例,但这可能是您需要防范的。

Im使用SQL2014。这听起来不错,我会尝试一下,并在研究后接受答案。谢谢。我正在使用SQL2014。这听起来不错,我会尝试一下,并在研究后接受答案。谢谢,你说得对,我错过了。JoeC描述的TSQL方式看起来更适合我,然后使用类似PsExec的东西调用dtexec。不过,谢谢你的做法和它的缺点。你是对的,我错过了。JoeC描述的TSQL方式看起来更适合我,然后使用类似PsExec的东西调用dtexec。不过,感谢您的做法和它的缺点。