Create a Transact-SQL Job Step

適用対象:SQL ServerAzure SQL Managed Instance

重要

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

このトピックでは、SQL Server Management Studio、Transact-SQL、または SQL Server 管理オブジェクトを使用して、SQL Server で Transact-SQL スクリプトを実行する Microsoft SQL Server エージェント ジョブ ステップを作成する方法について説明します。

ここで作成するジョブ ステップ スクリプトは、ストアド プロシージャおよび拡張ストアド プロシージャを呼び出すことができます。 1 つの Transact-SQL ジョブ ステップに、複数のバッチおよび埋め込み GO コマンドを含めることができます。 ジョブの作成の詳細については、「 ジョブの作成」を参照してください。

はじめに

セキュリティ

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

SQL Server Management Studio を使用する

Transact-SQL ジョブ テップを作成するには

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

  2. [SQL Server エージェント] を展開し、新しいジョブを作成するか、既存のジョブを右クリックして [プロパティ] をクリックします。

  3. [ジョブのプロパティ] ダイアログで [ステップ] ページをクリックし、 [新規作成] をクリックします。

  4. [新しいジョブ ステップ] ダイアログの [ステップ名] ボックスにジョブ ステップ名を入力します。

  5. [種類] ボックスの [Transact-SQL スクリプト (T-SQL)]をクリックします。

  6. [コマンド] ボックスに、Transact-SQL コマンド バッチを入力するか、または [開く] をクリックしてコマンドとして使用する Transact-SQL ファイルを選択します。

  7. [解析] をクリックして構文をチェックします。

  8. 構文が正しい場合は、成功を示すメッセージが表示されます。 エラーが見つかった場合は、構文を訂正しないと先に進めません。

  9. [詳細設定] ページをクリックして、ジョブ ステップが成功または失敗した場合の操作、 SQL Server エージェントによるジョブ ステップ実行の試行回数、 SQL Server エージェントでジョブ ステップの出力を書き込むファイルまたはテーブルなど、ジョブ ステップのオプションを設定します。 sysadmin 固定サーバー ロールのメンバーだけが、オペレーティング システム ファイルにジョブ ステップの出力を書き込むことができます。 SQL Server エージェントのすべてのユーザーがテーブルにログを書き込むことができます。

  10. sysadmin 固定サーバー ロールのメンバーで、このジョブ ステップを別の SQL ログインで実行する場合は、 [実行時のユーザー] ボックスで SQL ログインを選択します。

Transact-SQL の使用

Transact-SQL ジョブ テップを作成するには

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

  2. [標準] ツール バーの [新しいクエリ] をクリックします。

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

    -- creates a job step that uses Transact-SQL  
    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',   
        @retry_attempts = 5,  
        @retry_interval = 5 ;  
    GO  
    

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

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

Transact-SQL ジョブ テップを作成するには

Visual Basic、Visual C#、PowerShell などの選択したプログラミング言語で JobStep クラスを使用します。