Transact-SQL ジョブ ステップを作成する
適用対象:SQL Server
Azure SQL Managed Instance
大事な
Azure SQL Managed Instance では、SQL Server エージェントのほとんどの機能が現在サポートされているわけではありません。 詳細については、Azure SQL Managed Instance の T-SQL と SQL Server の違いの を参照してください。
このトピックでは、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 ジョブステップを作成するには
オブジェクト エクスプローラーで、SQL Server データベース エンジンのインスタンスに接続 し、そのインスタンスを展開します。
SQL Server エージェント を展開し、新しいジョブを作成するか既存のジョブを右クリックして、[プロパティ] をクリックします。
[ジョブのプロパティ ダイアログ] ボックスで、[ステップ ] ページをクリックし、[新しい] をクリックします。
[新しいジョブステップ の] ダイアログで、ジョブステップ名 入力します。
[タイプ] リストで、[スクリプト (TSQL) Transact-SQL]をクリックします。
[コマンド] ボックスに Transact-SQL コマンド バッチを入力するか、[開く] をクリックして、コマンドとして使用するファイル Transact-SQL を選択します。
構文を確認するには、「パース」をクリックしてください。
構文が正しい場合は、"解析に成功しました" というメッセージが表示されます。 エラーが見つかった場合は、続行する前に構文を修正してください。
[詳細 ページをクリックして、ジョブ ステップのオプション (ジョブ ステップが成功または失敗した場合に実行するアクション、SQL Server エージェントがジョブ ステップの実行を試行する回数、SQL Server エージェントがジョブ ステップの出力を書き込むことができるファイルまたはテーブルなど) を設定します。 ジョブ ステップの出力をオペレーティング システム ファイルに書き込むことができるのは、sysadmin 固定サーバー ロールのメンバーだけです。 すべての SQL Server エージェント ユーザーは、テーブルに出力をログに記録できます。
sysadmin 固定サーバー ロールのメンバーであり、このジョブ ステップを別の SQL ログインとして実行する場合は、[ユーザーとして実行] 一覧から SQL ログインを選択します。
Transact-SQL の使用
Transact-SQL ジョブ ステップを作成するには
オブジェクト エクスプローラーで、データベース エンジンのインスタンスに接続します。
[標準] バーで [新しいクエリ]をクリックします。
次の例をコピーしてクエリ ウィンドウに貼り付け、実行クリックします。
-- 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 クラスを使用します。