次の方法で共有


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 ジョブ ステップを作成するには

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