別のサーバーのジョブを実行する

Pocket

別のSQL Serverのジョブを実行したくなる場合ありますよね
今回も備忘録です

今回はジョブを実行しようとするマシンを A とします
実際にジョブが登録されているマシンをBとして説明します

開始したいジョブ名は hogeJob としてます。
AにはBがリンクサーバーBとして登録されているとします。
リンクサーバーのサーバーオプションではRPCがTrueであることが必須です

最初は下記のように実行してみました。

<br />
EXEC [msdb].[dbo].[sp_start_job] @job_name = 'hogeJob', @server_name = 'B'<br />

しかし下のようなエラーが出てしまいました

<br />
メッセージ 14262、 レベル 16、 状態 1、 プロシージャ sp_verify_job_identifiers、 行 67<br />
指定した @job_name ('hogeJob') は存在しません。<br />

最終的には、下のようにやったら上手く動きました。

<br />
EXEC [B].[msdb].[dbo].[sp_start_job] @job_name = 'hogeJob', @server_name = 'B'<br />
GO<br />

@server_name = ‘B’ はいらないかもしれないですが、
念のため付けてあります。

コメントを残す