web-dev-qa-db-ja.com

SQL Serverジョブとは別のサーバーに存在するexeファイルを実行する

.exeサーバー上のファイル、たとえばServer1は、別のサーバーに存在するSQL Serverジョブから実行する必要があります。例:Server2。どうすればできますか?

ローカルファイルかどうかはわかっていますが、xp_cmdshellをジョブステップで実行し、.exeファイルですが、この例では、このファイルは別のサーバーに存在します。それが可能である場合、それを達成するためにどのようなセキュリティ権限を設定する必要がありますか?

5
Sky

Xp_cmdshellは正常に機能します。UNCパス(\ server1\share\file.exe)を使用してファイルにアクセスするだけです。他の人が述べたように、SQLエージェントサービスアカウントがファイルにアクセスするための適切な権限があることを確認してください。

代わりに、実際にリモートサーバーでファイルを実行する場合は、別のサーバーでam exeを実行するPSEXECというツールを使用できます。これは一般的ではありませんが、あなたが探しているものかもしれないようです。あなたはここでそのツールを得ることができます:

http://technet.Microsoft.com/en-us/sysinternals/bb897553.aspx

4
SqlRyan

xp_cmdshell;ただし、SQL Serverサービスアカウント(SQL Serverを実行するために使用されるADアカウント)が、exeファイルを含むディレクトリおよびそのプログラムに必要なその他のディレクトリにアクセスできることを確認する必要があります。

xp_cmdshellはSQL Server自体で実行されます。他のコマンドウィンドウと同じように使用できます。

一方、それをホストするマシンでexeを実行する必要がある場合は、他のオプションを調べる必要があります。

4
Thomas Rushton