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

Pocket

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

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

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

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

EXEC [msdb].[dbo].[sp_start_job] @job_name = 'hogeJob', @server_name = 'B'

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

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

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

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

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

コメントを残す