ジョブを作成する
このトピックでは、SQL Server Management Studio、Transact-SQL、または SQL Server 管理オブジェクト (SMO) を使用して、SQL Server 2014 でSQL Server エージェント ジョブを作成する方法について説明します。
オペレーターに送信できるジョブ ステップ、スケジュール、警告、および通知を追加するには、「参照」セクションのトピックをご覧ください。
作業を開始する準備:
ジョブを作成する方法:
はじめに
制限事項と制約事項
ジョブを作成するには、 SQL Server エージェント固定データベース ロールか sysadmin 固定サーバー ロールのメンバーである必要があります。 ジョブの編集は、ジョブの所有者または sysadmin ロールのメンバーのみが行うことができます。 SQL Server エージェント固定データベース ロールの詳細については、「 SQL Server エージェントの固定データベース ロール」を参照してください。
別のログインにジョブを割り当てた場合に、新しい所有者がそのジョブを正常に実行できる十分な権限を持っていないこともあります。
ローカル ジョブはローカル SQL Server エージェントによってキャッシュに格納されます。 したがって、ジョブを変更すると、 SQL Server エージェントは暗黙的にジョブをキャッシュに再登録します。 SQL Server sp_add_jobserver が呼び出されるまで エージェントはジョブをキャッシュに格納しないので、 sp_add_jobserver を最後に呼び出す方が効率的です。
セキュリティ
ジョブの所有者を変更するには、システム管理者でなければなりません。
セキュリティを確保するため、ジョブの所有者または sysadmin ロールのメンバーだけがジョブの定義を変更できます。 sysadmin 固定サーバー ロールのメンバーのみが別のユーザーにジョブの所有権を割り当てることができ、ジョブの所有者とは無関係にジョブを実行できます。
注意
ジョブの所有権を sysadmin 固定サーバー ロールのメンバーでないユーザーに変更し、そのジョブがプロキシ アカウントを必要とするジョブ ステップを実行する ( SSIS パッケージの実行など) 場合は、ユーザーがそのプロキシ アカウントにアクセスできることを確認してください。アクセスできない場合、ジョブは失敗します。
アクセス許可
詳細については、「 SQL Server エージェントのセキュリティの実装」をご覧ください。
SQL Server Management Studio を使用する
SQL Server エージェントのジョブを作成するには
オブジェクト エクスプローラーで、SQL Server エージェント ジョブを作成するサーバーをプラス記号をクリックして展開します。
プラス記号をクリックして [SQL Server エージェント]を展開します。
[ジョブ] フォルダーを右クリックし、[新しいジョブ] を選択します。
[新しいジョブ] ダイアログ ボックスの [全般] ページで、ジョブの全般的なプロパティを変更します。 このページで使用できるオプションの詳細については、「ジョブのプロパティと新しいジョブ (全般ページ)」を参照してください。
[ステップ] ページで、ジョブ ステップを編成します。 このページで使用できるオプションの詳細については、「ジョブのプロパティ:新しいジョブ (ステップ ページ)」を参照してください。
[スケジュール ] ページで、ジョブのスケジュールを編成します。 このページで使用できるオプションの詳細については、「ジョブのプロパティ: 新しいジョブ ([スケジュール] ページ)」を参照してください。
[警告] ページで、ジョブの警告を編成します。 このページで使用できるオプションの詳細については、「ジョブのプロパティ: 新しいジョブ ([アラート] ページ)」を参照してください。
[通知] ページで、ジョブの完了時に Microsoft SQL Server エージェントが実行するアクションを設定します。 このページで使用できるオプションの詳細については、「ジョブの プロパティ: 新しいジョブ (通知ページ)」を参照してください。
[ターゲット] ページで、ジョブのターゲット サーバーを管理します。 このページで使用できるオプションの詳細については、「ジョブの プロパティ: 新しいジョブ (ターゲット ページ)」を参照してください。
完了したら、 [OK] をクリックします。
Transact-SQL の使用
SQL Server エージェントのジョブを作成するには
オブジェクト エクスプローラーで、 データベース エンジンのインスタンスに接続します。
[標準] ツール バーの [新しいクエリ] をクリックします。
次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。
USE msdb ; GO EXEC dbo.sp_add_job @job_name = N'Weekly Sales Data Backup' ; 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 EXEC dbo.sp_add_schedule @schedule_name = N'RunOnce', @freq_type = 1, @active_start_time = 233000 ; USE msdb ; GO EXEC sp_attach_schedule @job_name = N'Weekly Sales Data Backup', @schedule_name = N'RunOnce'; GO EXEC dbo.sp_add_jobserver @job_name = N'Weekly Sales Data Backup'; GO
詳細については、次を参照してください。
SQL Server 管理オブジェクトの使用
SQL Server エージェントのジョブを作成するには
Visual Basic、Visual C#、PowerShell などのプログラミング言語で Create
クラスの Job
メソッドを呼び出します。 コード例については、「 SQL Server エージェントでの自動管理タスクのスケジュール設定」を参照してください。