ジョブ ステップの成功フローまたは失敗フローを設定する

適用対象:SQL ServerAzure SQL Managed Instance

重要

現在、Azure SQL Managed Instance によって、すべてではありませんが、ほとんどの SQL Server エージェントの機能がサポートされています。 詳細については、Azure SQL Managed Instance と SQL Server の T-SQL の相違点に関するページを参照してください。

Microsoft SQL Server エージェント ジョブを作成するとき、ジョブの実行中にエラーが発生した場合に SQL Server が実行するアクションを指定できます。 各ジョブ ステップの成功時または失敗時に SQL Server が実行するアクションを決定します。 その後、次のプロシージャを使用して、 SQL Server エージェントを使用したジョブ ステップ アクション フロー ロジックを構成します。

開始する前に

セキュリティ

詳細については、「 SQL Server エージェントのセキュリティの実装」をご覧ください。

SQL Server Management Studio を使用する

ジョブ ステップの成功時または失敗時の動作を設定するには

  1. オブジェクト エクスプローラーで、 [SQL Server エージェント][ジョブ]の順に展開します。

  2. 編集するジョブを右クリックし、 [プロパティ] を選択します。

  3. [ステップ] ページを選択し、ステップを選択して、 [編集] を選択します。

  4. [ジョブ ステップのプロパティ] ダイアログ ボックスの [詳細設定] ページを選択します。

  5. [成功時のアクション] ボックスの一覧で、ジョブ ステップが正常に完了した場合に実行するアクションを選択します。

  6. [再試行回数] ボックスに、ジョブ ステップが失敗したと見なされるまでにそのステップを繰り返す回数を 0 から 9999 の範囲で入力します。 [再試行回数] ボックスに 0 を超える値を入力した場合は、ジョブ ステップが再試行されるまでの経過時間 (分単位) を 1 ~ 9999 の範囲で [再試行間隔 (分)] ボックスに入力します。

  7. [失敗時のアクション] ボックスの一覧で、ジョブ ステップが失敗した場合に実行するアクションを選択します。

  8. ジョブが Transact-SQL スクリプトの場合は、次のオプションから選択できます。

    • [出力ファイル] ボックスに、スクリプトの出力が書き込まれる出力ファイルの名前を入力します。 既定では、ジョブ ステップの実行ごとに出力ファイルが上書きされます。 出力ファイルを上書きしない場合は、 [既存のファイルに出力を追加する] チェック ボックスをオンにします。

    • ジョブ ステップのログをデータベース テーブルに記録する場合は、 [テーブルにログ記録する] チェック ボックスをオンにします。 既定では、ジョブ ステップの実行ごとにテーブルの内容が上書きされます。 テーブルの内容を上書きしない場合は、 [テーブル内の既存のエントリに出力を追加する] チェック ボックスをオンにします。 ジョブ ステップの実行後にこのテーブルのコンテンツを表示するには、 [表示]をクリックします。

    • ステップの履歴に出力を含める場合は、 [履歴にステップ出力を含める] チェック ボックスをオンにします。 エラーがない場合にのみ、出力は表示されます。 また、出力が切り捨てられる場合があります。

  9. [実行時のユーザー] ボックスの一覧を使用できる場合、ジョブで使用する資格情報を持つプロキシ アカウントを選択します。

Transact-SQL の使用

ジョブ ステップの成功時または失敗時の動作を設定するには

  1. オブジェクト エクスプローラーで、 データベース エンジンのインスタンスに接続します。

  2. 標準バーで、 [新しいクエリ] を選択します。

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] を選択します。

    USE msdb;  
    GO  
    EXEC sp_add_jobstep  
        @job_name = N'Weekly Sales Data Backup',  
        @step_name = N'Set database to read only',  
        @subsystem = N'TSQL',  
        @command = N'ALTER DATABASE SALES SET READ_ONLY',   
        @on_success_action = 1;  
    GO  
    

詳細については、「 sp_add_jobstep (Transact-SQL)」を参照してください。

SQL Server 管理オブジェクトの使用

ジョブ ステップの成功時または失敗時の動作を設定するには

Visual Basic、Visual C#、PowerShell などの選択したプログラミング言語で JobStep クラスを使用します。 詳細については、「 SQL Server 管理オブジェクト (SMO) プログラミング ガイド」を参照してください。

関連項目