sp_help_schedule (Transact-SQL)

适用于:SQL Server

列出有关计划的信息。

Transact-SQL 语法约定

语法

sp_help_schedule
    [ [ @schedule_id = ] schedule_id ]
    [ , [ @schedule_name = ] N'schedule_name' ]
    [ , [ @attached_schedules_only = ] attached_schedules_only ]
    [ , [ @include_description = ] include_description ]
[ ; ]

参数

[ @schedule_id = ] schedule_id

要列出的计划的标识符。 @schedule_id为 int,默认值为 NULL.

可以指定@schedule_id@schedule_name

[ @schedule_name = ] N'schedule_name'

要列出的计划的名称。 @schedule_name为 sysname,默认值为 NULL.

可以指定@schedule_id@schedule_name

[ @attached_schedules_only = ] attached_schedules_only

指定是否仅显示作业附加到的计划。 @attached_schedules_only,默认值为 0. 当 @attached_schedules_only0,将显示所有计划。 当@attached_schedules_only1,结果集仅包含附加到作业的计划。

[ @include_description = ] include_description

指定是否在结果集中包含说明。 @include_description,默认值为 0. 当@include_description为时结果集的@schedule_description列包含0占位符。 当@include_description1,计划的说明将包含在结果集中。

返回代码值

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

结果集

此过程返回以下结果集:

列名称 数据类型 说明
schedule_id int 计划标识号。
schedule_uid uniqueidentifier 计划的标识符。
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
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) 对计划的英语说明(如果需要的话)。
job_count int 返回引用此计划的作业数。

注解

如果未提供任何参数, sp_help_schedule 则列出实例中所有计划的信息。

权限

此存储过程由 db_owner 角色拥有。 你可以为任何用户授予 EXECUTE 权限,但这些权限可能会在 SQL Server 升级期间被重写。

其他用户必须被授予数据库中以下SQL Server 代理固定数据库角色msdb之一:

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

有关这些角色的权限的详细信息,请参阅 SQL Server 代理固定数据库角色

SQLAgentUserRole 的成员只能查看他们拥有的计划。

示例

A. 列出实例中所有计划的信息

以下示例列出了实例中所有计划的信息。

USE msdb;
GO

EXEC dbo.sp_help_schedule;
GO

B. 列出特定计划的信息

以下示例列出了名为 NightlyJobs 的计划的信息。

USE msdb;
GO

EXEC dbo.sp_help_schedule
    @schedule_name = N'NightlyJobs';
GO