CmdExec ジョブ ステップの作成

このトピックでは、SQL Server Management Studio、Transact-SQL、または SQL Server 管理オブジェクトを使用して実行可能プログラムまたはオペレーティング システム コマンドを使用する、SQL Server 2014 の Microsoft SQL Server エージェント ジョブ ステップを作成および定義する方法について説明します。

このトピックの内容

はじめに

セキュリティ

既定では、 sysadmin 固定サーバー ロールのメンバーだけが CmdExec ジョブ ステップを作成できます。 これらのジョブ ステップは、 sysadmin ユーザーがプロキシ アカウントを作成しない限り、SQL Server エージェント サービス アカウントのコンテキストで実行されます。 sysadmin ロールのメンバーではないユーザーでも、CmdExec プロキシ アカウントにアクセスできる場合は CmdExec ジョブ ステップを作成できます。

アクセス許可

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

SQL Server Management Studio を使用する

CmdExec ジョブ ステップを作成するには

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

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

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

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

  5. [種類] ボックスの一覧の [オペレーティング システム (CmdExec)] をクリックします。

  6. [実行するアカウント名] ボックスの一覧で、ジョブで使用する資格情報を備えたプロキシ アカウントをクリックします。 既定では、CmdExec ジョブ ステップは SQL Server エージェント サービス アカウントのコンテキストで実行されます。

  7. [コマンド成功時のプロセス終了コード] ボックスに、0 ~ 999999 の値を入力します。

  8. [コマンド] ボックスに、オペレーティング システム コマンドまたは実行可能プログラムを入力します。 例については、「Transact T-SQL の使用」を参照してください。

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

Transact-SQL の使用

CmdExec ジョブ ステップを作成するには

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

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

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

    -- creates a job step that uses CmdExec  
    USE msdb;  
    GO  
    EXEC sp_add_jobstep  
        @job_name = N'Weekly Sales Data Backup',  
        @step_name = N'Set database to read only',  
        @subsystem = N'CMDEXEC',  
        @command = C:\clickme_scripts\SQL11\PostBOLReorg GetHsX.exe',   
        @retry_attempts = 5,  
        @retry_interval = 5 ;  
    GO  
    

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

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

CmdExec ジョブ ステップを作成するには

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