我们.exe
在服务器上有一个文件,比如Server1应该从存在于不同服务器上的 SQL Server 作业运行,例如:Server2。怎么做到呢?
我知道它是否是本地文件,我可以xp_cmdshell
在 Job 步骤中使用并运行该.exe
文件,但在我们的例子中,该文件存在于不同的服务器上。如果可行,应该设置什么安全权限来实现它?
我们.exe
在服务器上有一个文件,比如Server1应该从存在于不同服务器上的 SQL Server 作业运行,例如:Server2。怎么做到呢?
我知道它是否是本地文件,我可以xp_cmdshell
在 Job 步骤中使用并运行该.exe
文件,但在我们的例子中,该文件存在于不同的服务器上。如果可行,应该设置什么安全权限来实现它?
你仍然可以使用
xp_cmdshell
; 但是,您需要确保您的 SQL Server 服务帐户(用于运行 SQL Server 的 AD 帐户)有权访问包含该exe
文件的目录以及该程序可能需要的任何其他目录。xp_cmdshell
在您的 SQL Server 本身上运行;您可以像使用任何其他命令窗口一样使用它。另一方面,如果您需要在
exe
托管它的机器上运行,那么您需要查看其他选项。Xp_cmdshell 可以正常工作 - 只需使用 UNC 路径 (\server1\share\file.exe) 访问文件。正如其他人所提到的,请确保您对 sql 代理服务帐户具有访问该文件的适当权限。
相反,如果您确实想在远程服务器上运行该文件,您可以使用一个名为 PSEXEC 的工具,该工具将在另一台服务器上运行 am exe。这并不常见,但听起来它可能是您正在寻找的东西。您可以在此处获取该工具:
http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx