sp_help_jobschedule (Transact-SQL)
适用范围:SQL Server
返回有关 SQL Server Management Studio 用于执行自动化活动的作业计划的信息。
语法
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 为 位,默认值为 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 代理服务启动时运行。 |
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_description时0 ,此列包含指示未请求说明的文本。 |
next_run_date |
int | 下一个计划导致作业运行日期。 |
next_run_time |
int | 下一次计划导致作业运行的时间。 |
schedule_uid |
uniqueidentifier | 计划的标识符。 |
job_count |
int | 返回的作业数。 |
注意
sp_help_jobschedule
每隔 20 分钟返回更新中的msdb.sysjobschedules
值dbo.sysjobschedules
和dbo.sysschedules
系统表的值。 这可能会影响此存储过程返回的值。
注解
sp_help_jobschedule
参数只能在特定组合中使用。 如果 指定了@schedule_id , 则无法指定@job_id 和 @job_name 。 否则,@job_id或@job_name参数可与@schedule_name一起使用。
权限
可以授予 EXECUTE
此过程的权限,但在 SQL Server 升级期间可能会重写这些权限。
其他用户必须被授予数据库中以下SQL Server 代理固定数据库角色msdb
之一:
- 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