共用方式為


sp_help_jobschedule (Transact-SQL)

傳回 SQL Server Management Studio 用來執行自動化活動之工作排程的相關資訊。

主題連結圖示Transact-SQL 語法慣例

語法

sp_help_jobschedule { [ @job_id = ] job_id | [ @job_name = ] 'job_name' }
     [ , [ @schedule_name = ] 'schedule_name' ]
     [ , [ @schedule_id = ] schedule_id ]
     [ , [ @include_description = ] include_description ]

引數

  • [ @job_id= ] job_id
    作業識別碼。job_id 是 uniqueidentifier,預設值是 NULL。

  • [ @job_name= ] 'job_name'
    作業的名稱。job_name 是 sysname,預設值是 NULL。

    [!附註]

    您必須指定 job_id 或 job_name,但不能同時指定這兩者。

  • [ @schedule_name= ] 'schedule_name'
    作業的排程項目名稱。schedule_name 是 sysname,預設值是 NULL。

  • [ @schedule_id= ] schedule_id
    作業的排程項目識別碼。schedule_id 是 int,預設值為 NULL。

  • [ @include_description= ] include_description
    指定結果集是否要包含排程的描述。include_description 是 bit,預設值是 0。當 include_description 是 0 時,結果集不會包含排程的描述。當 include_description 是 1 時,結果集會包含排程的描述。

傳回碼值

0 (成功) 或 1 (失敗)

結果集

資料行名稱

資料類型

描述

schedule_id

int

排程識別碼。

schedule_name

sysname

排程的名稱。

enabled

int

啟用排程 (1) 或不啟用排程 (0)。

freq_type

int

指出作業執行時間的值。

1 = 一次

4 = 每天

8 = 每週

16 = 每月

32 = 每月,相對於 freq_interval

64 = 在 SQLServerAgent 服務啟動之時執行。

freq_interval

int

執行作業的天數。這個值會隨著 freq_type 值而不同。如需詳細資訊,請參閱<sp_add_schedule (Transact-SQL)>。

freq_subday_type

int

freq_subday_interval 的單位。如需詳細資訊,請參閱<sp_add_schedule (Transact-SQL)>。

freq_subday_interval

int

在各次執行作業之間發生的 freq_subday_type 週期數。如需詳細資訊,請參閱<sp_add_schedule (Transact-SQL)>。

freq_relative_interval

int

排程的作業每個月 freq_interval 的出現次數。如需詳細資訊,請參閱<sp_add_schedule (Transact-SQL)>。

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_description 是 0 時,此資料行包含一段文字,表示不需要此描述。

next_run_date

int

排程下次執行作業的日期。

next_run_time

int

排程下次執行作業的時間。

schedule_uid

uniqueidentifier

排程的識別碼。

job_count

int

傳回的作業計數。

[!附註]

sp_help_jobschedule 會從 msdb 中的 dbo.sysjobschedulesdbo.sysschedules 系統資料表傳回值。sysjobschedules 每隔 20 分鐘會更新一次。這可能會影響這個預存程序所傳回的值。

備註

只有特定組合可以使用 sp_help_jobschedule 的參數。如果指定了 schedule_id,則可以不指定 job_id 或 job_name。否則,job_id 或 job_name 參數可以搭配 schedule_name 一起使用。

權限

需要系統管理員 (sysadmin) 固定伺服器角色中的成員資格。其他使用者必須被授與 msdb 資料庫的下列其中一個 SQL Server Agent 固定資料庫角色。

  • 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