19

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

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

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

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

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

前もって感謝します。

4

5 に答える 5

19

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

于 2011-06-20T16:23:06.950 に答える
3

SSMSの場合:

  • ジョブステップからコードをコピーします(ctrl + aを使用してすべてを選択します)
  • SSMSの新しいクエリウィンドウにコードを貼り付けます
  • コードを実行する

または、繰り返し実行する必要がある場合は、いくつかの手順を実行します。

これらのステップを別のジョブに入れてから、あるジョブを別のジョブから開始してすべてを実行します。使用するEXEC msdb.dbo.sp_start_job N'job_name'

短い簡単なジョブをオンデマンドで実行し、完全な長いジョブをスケジュールどおりに実行できます

于 2019-10-31T18:03:56.137 に答える
2

これを使って:

EXEC msdb.dbo.sp_start_job N'job_name' , 'step_name'
于 2017-08-29T15:43:14.690 に答える
-1

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

于 2017-04-24T09:51:38.117 に答える
-1
USE [**DB_NAME**]
GO

DECLARE @return_value int

EXEC @return_value = [dbo].[**STEP_NAME**]  

SELECT 'Return Value' = @return_value
GO
于 2021-05-26T21:06:25.523 に答える