sp_help_jobschedule (Transact-SQL)

適用於:SQL Server

傳回 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'

作業標識碼。 @job_id為 uniqueidentifier,預設值為 NULL

必須指定@job_id@job_name,但無法指定兩者。

[ @job_name = ] N'job_name'

作業的名稱。 @job_name為 sysname,預設值為 NULL

必須指定@job_id@job_name,但無法指定兩者。

[ @schedule_name = ] N'schedule_name'

作業的排程項目名稱。 @schedule_name為 sysname,預設值為 NULL

[ @schedule_id = ] schedule_id

作業之排程項目的識別碼。 @schedule_id為 int,預設值為 NULL

[ @include_description = ] include_description

指定是否要在結果集中包含排程的描述。 @include_description為 bit,預設值為 0

  • 當 為 時 0,排程的描述不會包含在結果集中。
  • 當 時 1,排程的描述會包含在結果集中。

傳回碼值

0 (成功) 或 1 (失敗)。

結果集

資料行名稱 資料類型 描述
schedule_id int 排程標識碼。
schedule_name sysname 排程的名稱。
enabled int 是否啟用排程 (1) 或未啟用 (0)。
freq_type int 值,指出作業何時要執行。

1 = 一次
4 = 每日
8 = 每周
16 = 每月
32 = 每月,相對於 freq_interval
64 = 在 SQL Server Agent 服務啟動時執行。
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 傳回的作業計數。

注意

sp_help_jobschedule每隔 20 分鐘會傳回 更新中的 dbo.sysjobschedulesmsdb.sysjobschedulesdbo.sysschedules 系統數據表值。 這可能會影響這個預存程式所傳回的值。

備註

的參數 sp_help_jobschedule 只能在特定組合中使用。 如果 指定了@schedule_id就無法指定@job_id@job_name 。 否則, @job_id@job_name 參數可以搭配 @schedule_name使用。

權限

此預存程式是由 db_owner 角色所擁有。 您可以授與 EXECUTE 任何用戶的許可權,但這些許可權可能會在 SQL Server 升級期間覆寫。

其他用戶必須在資料庫中獲得下列其中一個 SQL Server Agent 固定資料庫角色 msdb

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

如需這些角色權限的詳細資訊,請參閱 SQL Server Agent 固定資料庫角色

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