別の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’ はいらないかもしれないですが、
念のため付けてあります。