SQL Serverは、どのように情報をジョブスケジュールプロパティに保存しますか?


12

が存在することは知っていますがSELECT * FROM msdb..sysjobschedules、それはジョブが次に実行されるようにスケジュールされたときに表示されます。

これがすべて決定され、保存される方法を知りたい。では、毎週月曜日のチェックボックスの値をどこに保存しますか?


msdb.dbo.sysschedulesからselect *をチェックアウトすると、システムストアドプロシージャのsp_add_schedule更新またはこのテーブルへの挿入が行われます。

情報はに保存されていると思いますmsdb.dbo.sysschedules。チェックアウトのMSDNのページを。

回答:


8

20分ごと(これは構成可能ではないようです)の「次の実行」情報sysjobschedulesは、に表示される情報を参照して更新されますsysschedules

ジョブを定義するときに、「このジョブを月曜日ごとに実行する」というだけでなく、それを示すスケジュールを定義し、ジョブをスケジュールに関連付けるという、少し複雑なプロセスを経る方法を知っていますか?これが理由です-彼らは独立した存在を持っています。


6

そして、sysschedulesあなたの仕事情報に情報をリンクしたい場合:

use msdb;

select SYSJ.name, SYSS.* from sysjobs as SYSJ
inner join sysjobschedules as SYSJS on SYSJ.job_id = SYSJS.job_id
inner join sysschedules SYSS on SYSS.schedule_id = SYSJS.schedule_id;

0

Josienの答えを詳しく説明するために、ジョブ関連のすべてのsysエンティティを結び付け、その中の情報を見るための素晴らしいクエリセットを提供する素晴らしい投稿:https : //www.mssqltips.com/sqlservertip/2561/querying-sql -server-agent-job-information /

同様の質問があり、環境内のすべてのエージェントジョブのレポートを作成して、開発者と他のDBAがそれらを見てコンテキストを提供できるようにする必要があるときに、特に役立ちました。乾杯!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.