SQL Serverでは、sp_help_jobschedule
ストアドプロシージャは、ジョブのスケジューリングに関する情報を返します。
この記事では、例を含むこのストアドプロシージャの概要を説明します。
構文
公式の構文は次のようになります:
sp_help_jobschedule { [ @job_id = ] job_id | [ @job_name = ] 'job_name' }
[ , [ @schedule_name = ] 'schedule_name' ]
[ , [ @schedule_id = ] schedule_id ]
[ , [ @include_description = ] include_description ]
sp_help_jobschedule
を呼び出すとき 、ジョブ名またはそのID(両方ではない)、またはスケジュールIDのいずれかを指定する必要があります。スケジュールの名前を渡すこともできますが、ジョブIDまたはその名前と組み合わせた場合に限ります。
受け入れられる組み合わせは少し注意が必要です。基本的には次のようになります:
schedule_id
の場合 が指定されており、job_id
も指定されていません また、job_name
指定できます。それ以外の場合、job_id
またはjob_name
パラメータはschedule_name
で使用できます 。
ただし、schedule_id
は使用できません。 スケジュールが複数のジョブに関連付けられている場合。
sp_help_jobschedule
に注意してください msdbにあります データベースなので、そこから実行する必要があります。これは、 msdbに切り替えることで実行できます。 データベース(例:USE msdb
)、またはデータベース名とスキーマ(つまり、msdb.dbo.sp_help_jobschedule
でプロシージャを修飾することによって) 。
例
特定のジョブに関連付けられているすべてのスケジュールを返す方法を示す例を次に示します。
EXEC sp_help_jobschedule
@job_name = 'SqlAgentTest';
結果:
これにより、@job_name
で指定されたジョブに関連付けられているスケジュールのリストが返されます。 引数。
または、@job_id
を渡すこともできます :
EXEC sp_help_jobschedule
@job_id = '8A6E1BFF-9F46-4FF9-8E63-ABC8B224B6F8';
しかし、その場合、@job_name
を使用できませんでした (どちらか一方です)
ジョブIDを使用する場合、必要に応じてパラメーター名を省略できます。
EXEC sp_help_jobschedule '8A6E1BFF-9F46-4FF9-8E63-ABC8B224B6F8';
@schedule_id
の使用 パラメータ
または、IDに基づいてスケジュールを取得することもできます:
EXEC sp_help_jobschedule
@schedule_id = 15;
スケジュールが複数のジョブに関連付けられていない限り、これは正常に機能します。
スケジュールが複数のジョブに関連付けられている場合は、次のようになります。
EXEC sp_help_jobschedule
@schedule_id = 14;
結果:
Msg 14369, Level 16, State 1, Procedure sp_help_jobschedule, Line 69 [Batch Start Line 22] The schedule ID "14" is used by more than one job. Specify the job_id.
また、job_id
を指定するように求められますが 、これを行う場合は、schedule_id
を削除する必要があります (前述のように、schedule_id
を渡した場合 、job_name
を含めることはできません またはjob_id
。
これを示すために、単にjob_id
を追加すると schedule_id
を保持します そこで、次のエラーが発生します。
EXEC sp_help_jobschedule
@job_id = '8A6E1BFF-9F46-4FF9-8E63-ABC8B224B6F8',
@schedule_id = 14;
結果:
Msg 14273, Level 16, State 1, Procedure sp_help_jobschedule, Line 51 [Batch Start Line 22] You must provide either @job_id or @job_name (and, optionally, @schedule_name), or @schedule_id.
説明を含める
もう1つできることは、スケジュールの説明を含めるかどうかを指定することです。
デフォルトでは、説明は結果セットに含まれていません。実際、schedule_description
列はです 含まれていますが、明示的に要求しない限り、説明は含まれていません。リクエストしない場合は、schedule_description
列に(Description not requested.)
。
@include_description
パラメータはビットです 、デフォルトは0
、つまり、説明は表示されません。 1
の値を渡す 説明が表示されます。
EXEC sp_help_jobschedule
@job_name = 'SqlAgentTest',
@include_description = 1;