CmdExec ジョブ ステップの作成

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

このトピックの内容

  • 作業を開始する準備: 

    セキュリティ

  • CmdExec ジョブ ステップを作成する方法:

    SQL Server Management Studio

    Transact-SQL

    SQL Server 管理オブジェクト

作業を開始する準備

セキュリティ

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

権限

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

[トップに戻る] リンクで使用される矢印アイコン[Top]

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 固定サーバー ロールのメンバーだけが、オペレーティング システム ファイルにジョブ ステップの出力を書き込むことができます。

[トップに戻る] リンクで使用される矢印アイコン[Top]

Transact-SQL の使用

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

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

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

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

    -- creates a job step that 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)」を参照してください。

[トップに戻る] リンクで使用される矢印アイコン[Top]

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

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

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

[トップに戻る] リンクで使用される矢印アイコン[Top]