SQL Server - ジョブの作成とスケジュール設定方法
SQL Server - ジョブの作成とスケジュール設定方法
夜間バッチの処理などで、ストアード・プロシージャー等をスケジュールして実行したい時があると思います。
そんな時は SQL Server エージェントにジョブを作成し、スケジュールすることで実行が可能です。
ここでは、SQL Server Management Studio から、簡単なジョブの作成とスケジュールの方法をご紹介します。
SQL Server エージェントを開始する
まず、ジョブをスケジュールで実行する為には SQL Server エージェント が開始している必要があります。
開始していない場合は次の手順で SQL Server 構成マネージャー から SQL Server エージェントを開始します。
まず、Windows のスタートメニューの検索で SQLServerManager<バージョン>.msc と入力して、SQL Server 構成マネージャーを開きます。
各 SQL Server に対応するバージョンは以下の通りです。
- SQL Server 2012 - SQLServerManager11.msc
- SQL Server 2014 - SQLServerManager12.msc
- SQL Server 2016 - SQLServerManager13.msc
- SQL Server 2017 - SQLServerManager14.msc
左側で SQL Server のサービス を選択し、右側で起動したい SQL Server エージェント で右クリックし プロパティ を選択します。
サービス タブをクリックし、開始モード を 自動 にして、[適用] ボタンをクリックします。
ここを自動にする理由は、Windows が再起動したときなどに、SQL Server エージェントのサービスも自動で起動して欲しいからです。
次に ログオン タブをクリックし、[開始] ボタンをクリックすると、SQL Server エージェントが開始します。 [OK] ボタンをクリックして画面を閉じます。
SQL Server エージェントが開始しました。
SQL Server エージェントのジョブを作成する
それでは、Test データベースにある uspTest というストアードプロシージャを実行するだけのシンプルなジョブを作成して、毎日午前 2 時に実行されるようにスケジュールしてみましょう。
SQL Server Management Studio の オブジェクトエクスプローラ で SQL Server エージェント を開き、ジョブ で右クリックして 新しいジョブ をクリックします。
新しいジョブの画面が出てきますので、まず 全般 のページで名前を入力します。 まだ OK ボタンは押さないでください。
次に ステップ のページを選択し、新規作成 をクリックします。
新しいジョブステップ の画面が出てきますので、ステップ名に適当な名前を入力し、データベース は Test を選択し、コマンド に EXEC uspTest; と入力し、[OK] ボタンをクリックします。
次に、スケジュール のページを選択し、新規作成 をクリックします。
新しいジョブスケジュール の画面が出てきますので、名前に適当な名前を入力し、頻度 の 実行に 毎日 を選択し、一日のうちの頻度 は 一回 を選択して、時間を 2:00:00 AM に設定し、[OK] ボタンをクリックします。
今回は通知等は設定しないので、ここで OK ボタンをクリックするとジョブが作成されます。
SQL Server Management Studio のオブジェクトエクスプローラーに戻ると、SQL Server エージェントのところに TestJob1 ができていますね。
これで、毎日午前 2 時に実行されるようにスケジュールされた、Test データベースにある uspTest というストアードプロシージャを実行するジョブが生成されました。