web-dev-qa-db-ja.com

SQL Serverエージェントジョブ:ジョブ全体を実行せずにジョブステップを実行する方法

以前に2つのステップがあったSQLServerエージェントジョブがあります。今日、私は3番目のステップを統合する必要があり、まもなく4番目のステップを統合する必要があります。

ステップが正しく実行されることを確認したいのですが、ジョブ全体を実行したくありません。

最初の2つのステップは実行にかなりの時間がかかり、日中はユーザーが必要とするSQLリソースを大量に消費します。

ジョブプロセス全体ではなく、ジョブステップを実行できる方法はありますか?

SSMS内で、ジョブを右クリックすると、「ステップでジョブを開始...」というオプションがあります。ただし、そのオプションを試してみると、ジョブ全体が開始されたことを示すダイアログが表示されます。ジョブ内の1つのステップをテストするにはどうすればよいですか?

前もって感謝します。

12
RLH

「ステップでジョブを開始」は、指定したステップでジョブを開始します。ただし、後続のステップを実行したくない場合は、開始したステップの完了後に「レポートの成功を終了」するように、必ずステップロジックを調整してください。

15
Rich

これを使って:

EXEC msdb.dbo.sp_start_job N'job_name' , 'step_name'
1
Mehrdad Alemi

ジョブのプロパティに移動し、手動でその手順を実行します。たとえば、16ステップのジョブがあり、12番目のステップを実行してから、そのジョブプロパティに移動して、そのステップ12が正確に何を行うかを確認します。コマンドプロンプトでバッチファイルを実行する場合は、手動で実行してください。ただし、このロジックはすべての場合に使用できるわけではありません。

0
madhukar mohan