sp_help_jobschedule (Transact-SQL)
傳回 SQL Server Management Studio 用來執行自動化活動之工作排程的相關資訊。
語法
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.sysjobschedules 和 dbo.sysschedules 系統資料表傳回值。每隔 20 分鐘,sysjobschedules 會更新一次。這可能會影響預存程序傳回的值。 |
備註
只有特定組合可以使用 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
請參閱
參考
sp_add_schedule (Transact-SQL)
sp_delete_schedule (Transact-SQL)
sp_update_schedule (Transact-SQL)
系統預存程序 (Transact-SQL)