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,默认值为 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_description0,此列包含指示未请求说明的文本。
next_run_date int 下一个计划导致作业运行日期。
next_run_time int 下一次计划导致作业运行的时间。
schedule_uid uniqueidentifier 计划的标识符。
job_count int 返回的作业数。

注意

sp_help_jobschedule每隔 20 分钟返回更新中的msdb.sysjobschedulesdbo.sysjobschedulesdbo.sysschedules系统表的值。 这可能会影响此存储过程返回的值。

注解

sp_help_jobschedule参数只能在特定组合中使用。 如果 指定了@schedule_id则无法指定@job_id@job_name 。 否则,@job_id或@job_name参数可与@schedule_name一起使用

权限

此存储过程由 db_owner 角色拥有。 你可以为任何用户授予 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