安排工作

本主题介绍如何计划 SQL Server 代理作业。

在您开始之前

安全

有关详细信息,请参阅 实现 SQL Server 代理安全性

使用 SQL Server Management Studio

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

  1. 对象资源管理器中, 连接到 SQL Server 数据库引擎的实例,然后展开该实例。

  2. 展开 SQL Server 代理,展开 “作业”,右键单击要计划的作业,然后单击“ 属性”。

  3. 选择“ 计划 ”页,然后单击“ 新建”。

  4. 名称 框中,键入新计划的名称。

  5. 如果不希望计划在其创建后立即生效,请清除 “启用 ”复选框。

  6. 对于 计划类型,请选择以下项之一:

    • 要在 SQL Server 代理服务启动时自动启动作业,请单击在 SQL Server 代理启动时自动启动

    • 每当 CPU 变为空闲状态时,单击“启动”以在 CPU 达到空闲状态时启动作业。

    • 如果希望计划重复运行,请单击“ 周期性 ”。 若要设置定期计划,请在对话框中完成 频率每日频率持续时间 组。

    • 如果希望计划仅运行一次,请单击 一次 。 若要设置“执行一次”计划,请完成对话框上的“执行一次”组

将计划附加到作业

  1. 对象资源管理器中, 连接到 SQL Server 数据库引擎的实例,然后展开该实例。

  2. 展开 SQL Server 代理,展开 “作业”,右键单击要计划的作业,然后单击“ 属性”。

  3. 选择“ 计划 ”页,然后单击“ 选取”。

  4. 选择要附加的计划,然后单击“ 确定”。

  5. 作业属性 对话框中,双击附加的计划。

  6. 验证是否已正确设置 开始日期。 如果不是,请设置计划开始的日期,然后单击“ 确定”。

  7. 在“ 作业属性 ”对话框中,单击“ 确定”。

使用 Transact-SQL

安排任务

  1. “对象资源管理器” 中,连接到某个数据库引擎实例。

  2. 在标准栏上,单击“新建查询”

  3. 将以下示例复制并粘贴到查询窗口中,然后单击 执行

    USE msdb ;  
    GO  
    -- creates a schedule named NightlyJobs.   
    -- Jobs that use this schedule execute every day when the time on the server is 01:00.   
    EXEC sp_add_schedule  
        @schedule_name = N'NightlyJobs' ,  
        @freq_type = 4,  
        @freq_interval = 1,  
        @active_start_time = 010000 ;  
    GO  
    -- attaches the schedule to the job BackupDatabase  
    EXEC sp_attach_schedule  
       @job_name = N'BackupDatabase',  
       @schedule_name = N'NightlyJobs' ;  
    GO  
    

有关详细信息,请参阅sp_add_schedule(Transact-SQL)sp_attach_schedule(Transact-SQL)。

使用 SQL Server 管理对象

使用您选择的编程语言(例如 Visual Basic、Visual C# 或 PowerShell)来使用JobSchedule类。 有关详细信息,请参阅SQL Server 管理对象(SMO)。