我正在尝试使用以下命令从 bat 文件远程运行 DTSX 包:
DTEXEC /DTS "\File System\MY_PACKAGE_NAME" /SERVER MY_SERVER_NAME /MAXCONCURRENT " -1 " /CHECKPOINTING OFF /REPORTING V
这在本地工作正常,但远程失败(我在我指向的机器上拥有管理员权限,并且我也有 SQL 权限)我收到超时错误(登录超时已过期)。
我正在尝试使用以下命令从 bat 文件远程运行 DTSX 包:
DTEXEC /DTS "\File System\MY_PACKAGE_NAME" /SERVER MY_SERVER_NAME /MAXCONCURRENT " -1 " /CHECKPOINTING OFF /REPORTING V
这在本地工作正常,但远程失败(我在我指向的机器上拥有管理员权限,并且我也有 SQL 权限)我收到超时错误(登录超时已过期)。
这是非常有可能的,而且非常容易。不需要存储过程、SQL 代理、Web 或 .NET 开发。我很惊讶微软从未提出过这个建议:
schtasks /run /tn MyTask [/s MySQLServer [/u [domain]user /p password]] /?
注意:如果您不喜欢暴露密码,请使用“PSEXEC”命令执行“schtasks”命令(从http://technet.microsoft.com/en-us/sysinternals/bb897553 下载免费且功能强大的工具。 aspx
经过一番研究,似乎无法远程运行 DTEXEC(它需要在本地运行 - 不支持远程执行)。
为了克服这一限制,似乎广泛实施了以下方法:
SSIS 还在托管服务器上公开了一个 Web 服务。您可以通过代码,查询机器以获取包,通过数据库或文件系统运行包,并通过您喜欢的任何编程平台以编程方式添加/修改包的变量。
话虽如此,您还可以设置您的网络服务来调用包含您的“DETEXEC”命令的本地批处理文件。