次の方法で共有


sp_help_jobschedule (Transact-SQL)

適用対象: SQL サーバー

SQL Server Management Studio で自動アクティビティを実行するために使用されるジョブのスケジュールに関する情報を返します。

Transact-SQL 構文表記規則

構文

sp_help_jobschedule
    [ [ @job_id = ] 'job_id' ]
    [ , [ @job_name = ] N'job_name' ]
    [ , [ @schedule_name = ] N'schedule_name' ]
    [ , [ @schedule_id = ] schedule_id ]
    [ , [ @include_description = ] include_description ]
[ ; ]

引数

[ @job_id = ] 'job_id'

ジョブ ID 番号。 @job_iduniqueidentifier で、既定値は NULL です。

@job_idまたは@job_nameを指定する必要がありますが、両方を指定することはできません。

[ @job_name = ] N'job_name'

ジョブの名前。 @job_namesysname で、既定値は NULL です。

@job_idまたは@job_nameを指定する必要がありますが、両方を指定することはできません。

[ @schedule_name = ] N'schedule_name'

ジョブのスケジュール アイテムの名前を指定します。 @schedule_namesysname で、既定値は NULL です。

[ @schedule_id = ] schedule_id

ジョブのスケジュール アイテムの識別番号を指定します。 @schedule_idint で、既定値は NULL です。

[ @include_description = ] include_description

結果セットにスケジュールの説明を含めるかどうかを指定します。 @include_descriptionビットで、既定値は 0 です。

  • 0場合、スケジュールの説明は結果セットに含まれません。
  • 1すると、スケジュールの説明が結果セットに含まれます。

リターン コードの値

0 (成功) または 1 (失敗)。

結果セット

列名 データ型 説明
schedule_id int 識別子番号をスケジュールします。
schedule_name sysname スケジュールの名前。
enabled int スケジュールが有効 (1) か有効でないか (0)。
freq_type int ジョブを実行するタイミングを示す値。

1 = 1 回
4 = 日単位
8 = 週単位
16 = 月単位
32 = 月単位(〘⾳ freq_interval
64= SQL Server エージェント サービスの起動時に実行します。
freq_interval int ジョブが実行される日数。 値は、 freq_typeの値によって異なります。 詳細については、「 sp_add_schedule」を参照してください。
freq_subday_type int freq_subday_intervalの単位。 詳細については、「 sp_add_schedule」を参照してください。
freq_subday_interval int ジョブの各実行間に発生する freq_subday_type 期間の数。 詳細については、「 sp_add_schedule」を参照してください。
freq_relative_interval int スケジュールされたジョブの毎月の freq_interval の発生。 詳細については、「 sp_add_schedule」を参照してください。
freq_recurrence_factor int ジョブのスケジュールされた実行の間の月数。
active_start_date int スケジュールをアクティブにした日付。
active_end_date int スケジュールの終了日。
active_start_time int スケジュールが開始される時刻。
active_end_time int スケジュールを終了する時刻。
date_created datetime スケジュールが作成された日付。
schedule_description nvarchar (4000) msdb.dbo.sysschedulesの値から派生するスケジュールの英語の説明。 @include_description0されている場合、この列には説明が要求されなかったことを示すテキストが含まれます。
next_run_date int スケジュールが次にジョブを実行する日付。
next_run_time int スケジュールが次にジョブを実行する時間。
schedule_uid uniqueidentifier スケジュールの識別子。
job_count int 返されたジョブの数。

Note

sp_help_jobscheduleは、20 分ごとに更新msdb.sysjobschedulesdbo.sysjobschedulesおよびdbo.sysschedulesシステム テーブルの値を返します。 これは、このストアド プロシージャによって返される値に影響する可能性があります。

解説

sp_help_jobscheduleのパラメーターは、特定の組み合わせでのみ使用できます。 @schedule_idを指定した場合、@job_id@job_nameを指定できません。 それ以外の場合は、 @job_id または @job_name パラメーターを @schedule_nameと共に使用できます。

アクセス許可

このストアド プロシージャは、 db_owner ロールによって所有されています。 EXECUTEアクセス許可は任意のユーザーに付与できますが、SQL Server のアップグレード中にこれらのアクセス許可がオーバーライドされる可能性があります。

他のユーザーには、msdb データベース内の次SQL Server エージェント固定データベース ロールのいずれかを付与する必要があります。

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

これらのロールの権限の詳細については、「 SQL Server エージェントの固定データベース ロール」を参照してください。

SQLAgentUserRole のメンバーは、所有するジョブ スケジュールのプロパティのみを表示できます。

A. 特定のジョブのジョブ スケジュールを返す

次の例では、 BackupDatabaseという名前のジョブのスケジュール情報を返します。

USE msdb;
GO

EXEC dbo.sp_help_jobschedule
    @job_name = N'BackupDatabase' ;
GO

B. 特定のスケジュールのジョブ スケジュールを返す

次の例では、NightlyJobs という名前のスケジュールと、RunReports という名前のジョブの情報を返します。

USE msdb;
GO

EXEC dbo.sp_help_jobschedule
    @job_name = N'RunReports',
    @schedule_name = N'NightlyJobs';
GO

C: 特定のスケジュールのジョブ スケジュールとスケジュールの説明を返します

次の例では、NightlyJobs という名前のスケジュールと、RunReports という名前のジョブの情報を返します。 返される結果セットには、スケジュールの説明が含まれます。

USE msdb;
GO

EXEC dbo.sp_help_jobschedule
    @job_name = N'RunReports',
    @schedule_name = N'NightlyJobs',
    @include_description = 1;
GO