首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从bat文件远程运行DTSX包?

如何从bat文件远程运行DTSX包?
EN

Stack Overflow用户
提问于 2008-10-03 10:27:32
回答 3查看 15.9K关注 0票数 3

我正在尝试使用以下命令从bat文件远程运行DTSX包:

代码语言:javascript
复制
DTEXEC /DTS "\File System\MY_PACKAGE_NAME" /SERVER MY_SERVER_NAME /MAXCONCURRENT " -1 " /CHECKPOINTING OFF  /REPORTING V

这在本地工作得很好,但远程失败(我在我指向的机器上有管理员权限,我也有SQL权限),我得到了一个超时错误(登录超时过期)。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2008-10-04 19:00:10

经过一些研究,看起来不可能远程运行DTEXEC (它需要在本地运行--不支持远程执行)。

为了克服这一限制,似乎可以广泛地实现以下方法:

  1. 设置SQL作业以运行DTSX包
  2. 设置存储过程以运行作业
  3. 使用BAT文件(远程执行)中的isql命令行在相关SQL实例上运行存储过程(使用SQL凭据而不是计算机凭据)
票数 3
EN

Stack Overflow用户

发布于 2009-03-27 13:39:50

这是很有可能的,而且很容易。不需要存储过程,也不需要SQL agent、Web或.NET开发。我很惊讶微软从来没有提出过这样的建议:

  1. 在SQL Server上计划一个任务以运行DTSX包。禁用它,这样在您从远程PC手动执行它之前,它将不会运行。
  2. 使用以下命令从PC执行任务:

schtasks /run /tn MyTask [/s MySQLServer [/u domainuser /p password]] /?

注意:如果您不喜欢暴露密码,请使用'PSEXEC‘命令执行’schtask‘命令(从http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx下载免费且功能强大的工具

票数 5
EN

Stack Overflow用户

发布于 2009-01-06 21:58:27

SSIS还公开宿主服务器上的web服务。您可以通过代码查询机器上的包,通过数据库或文件系统运行包,并通过您喜欢的任何编程平台以编程方式添加/修改包的变量。

也就是说,您还可以设置您的set服务来调用包含'DETEXEC‘命令的本地批处理文件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/166239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档