创建计划并将其附加到作业

适用于:SQL ServerAzure SQL 托管实例

重要

Azure SQL 托管实例,目前大多数但并非所有 SQL Server 代理功能都受支持。 有关详细信息,请参阅 Azure SQL 托管实例与 SQL Server 的 T-SQL 差异

计划 SQL Server 代理作业意味着定义导致作业在无需用户交互的情况下开始运行的条件或条件。 可以通过为作业创建新的调度或将现有的调度附加到作业中,使作业自动运行。

可通过两种方法创建计划:

  • 创建作业的同时制定计划。

  • 在对象资源管理器中创建计划。

创建计划后,可以将该计划附加到多个作业,即使为特定作业创建了计划。 还可以从作业中分离计划。

警告

更新计划将影响所有关联到该计划的作业。 如果要控制单个作业的计划,请确保为每个作业创建单独的计划对象。

计划可以基于时间或事件。 例如,可以计划任务在以下时间运行:

  • 每当 SQL Server 代理启动时。

  • 每当计算机的 CPU 使用率处于已定义为空闲的级别时。

  • 一次,在特定日期和时间。

  • 周期性日程。

作为作业计划的替代方法,还可以创建一个警报,通过运行作业来响应事件。

注意

一次只能运行一个作业实例。 如果尝试按计划运行作业时手动运行作业,SQL Server 代理将拒绝该请求。

若要防止计划作业运行,必须执行以下方法之一:

  • 停用时间表.

  • 禁用作业。

  • 将计划从作业中分离。

  • 停止 SQL Server 代理服务。

  • 删除计划。

如果未启用计划,则作业仍可响应警报或用户手动运行作业时运行。 如果未启用作业计划,则不会为使用该计划的任何作业启用计划。

您必须显式重新启用已禁用的计划。 更改日程安排不会自动重新启用该计划。

计划开始日期

计划的开始日期必须大于或等于19900101。

将计划附加到作业时,您应查看该计划用于首次运行作业的起始日期。 开始日期取决于将计划附加到作业的日期和时间。 例如,创建一个计划,该计划每隔一个星期一上午 8:00 运行一次。如果在 2008 年 3 月 3 日星期一上午 10:00 创建作业,则计划开始日期为 2008 年 3 月 17 日星期一。 如果在 2008 年 3 月 4 日星期二创建另一个作业,则计划开始日期为 2008 年 3 月 10 日星期一。

将计划附加到作业后,您可以更改计划开始日期。

CPU 空闲调度

若要最大化 CPU 资源,可以为 SQL Server 代理定义 CPU 空闲条件。 SQL Server 代理使用 CPU 空闲条件设置来确定运行作业的最佳时间。 例如,可以计划作业以在 CPU 空闲时间重新生成索引,并降低生产周期。

在定义要在 CPU 空闲时间运行的作业之前,请在正常处理期间确定 CPU 上的负载。 为此,请使用 SQL Server Profiler 或性能监视器监视服务器流量并收集统计信息。 然后,可以使用收集的信息来设置 CPU 空闲时间百分比和持续时间。

定义 CPU 的空闲条件为 CPU 使用率必须在指定时间内保持低于该百分比。 接下来,设置时间量。 当 CPU 使用率低于指定时间的指定百分比时,SQL Server 代理将启动所有具有 CPU 空闲时间计划的作业。 有关使用 SQL Server Profiler 或性能监视器监视 CPU 使用率的详细信息,请参阅 监视 CPU 使用率

描述 主题
介绍如何为 SQL Server 代理作业创建计划。 创建计划
介绍如何计划 SQL Server 代理作业。 计划作业
说明如何为服务器定义 CPU 空闲条件。 设置 CPU 空闲时间和时间长度(SQL Server Management Studio)

另请参阅

sp_help_jobschedule
sysjobschedules