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 ジョブ ステップを作成するには
オブジェクト エクスプローラーで、SQL Server データベース エンジンのインスタンスに接続し、そのインスタンスを展開します。
[SQL Server エージェント] を展開し、新しいジョブを作成するか、既存のジョブを右クリックして [プロパティ] をクリックします。
[ジョブのプロパティ] ダイアログで [ステップ] ページをクリックし、[新規作成] をクリックします。
[新しいジョブ ステップ] ダイアログの [ステップ名] ボックスにジョブ ステップ名を入力します。
[種類] ボックスの一覧の [オペレーティング システム (CmdExec)] をクリックします。
[実行するアカウント名] ボックスの一覧で、ジョブで使用する資格情報を備えたプロキシ アカウントをクリックします。 既定では、CmdExec ジョブ ステップは SQL Server エージェント サービス アカウントのコンテキストで実行されます。
[コマンド成功時のプロセス終了コード] ボックスに、0 ~ 999999 の値を入力します。
[コマンド] ボックスに、オペレーティング システム コマンドまたは実行可能プログラムを入力します。 例については、「Transact T-SQL の使用」を参照してください。
[詳細設定] ページをクリックして、ジョブが成功または失敗した場合の操作、SQL Server エージェントによるジョブ ステップ実行の試行回数、SQL Server エージェントでジョブ ステップの出力を書き込むファイルなど、ジョブ ステップのオプションを設定します。 sysadmin 固定サーバー ロールのメンバーだけが、オペレーティング システム ファイルにジョブ ステップの出力を書き込むことができます。
[Top]
Transact-SQL の使用
CmdExec ジョブ ステップを作成するには
オブジェクト エクスプローラーで、データベース エンジンのインスタンスに接続します。
[標準] ツール バーの [新しいクエリ] をクリックします。
次の例をコピーしてクエリ ウィンドウに貼り付け、[実行] をクリックします。
-- 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]