本主题介绍如何计划 SQL Server 代理作业。
开始之前:
若要计划作业,请使用:
在您开始之前
安全
有关详细信息,请参阅 实现 SQL Server 代理安全性。
使用 SQL Server Management Studio
创建计划并将其附加到作业
在 对象资源管理器中, 连接到 SQL Server 数据库引擎的实例,然后展开该实例。
展开 SQL Server 代理,展开 “作业”,右键单击要计划的作业,然后单击“ 属性”。
选择“ 计划 ”页,然后单击“ 新建”。
在 名称 框中,键入新计划的名称。
如果不希望计划在其创建后立即生效,请清除 “启用 ”复选框。
对于 计划类型,请选择以下项之一:
要在 SQL Server 代理服务启动时自动启动作业,请单击在 SQL Server 代理启动时自动启动。
每当 CPU 变为空闲状态时,单击“启动”以在 CPU 达到空闲状态时启动作业。
如果希望计划重复运行,请单击“ 周期性 ”。 若要设置定期计划,请在对话框中完成 频率、每日频率和 持续时间 组。
如果希望计划仅运行一次,请单击 一次 。 若要设置“执行一次”计划,请完成对话框上的“执行一次”组。
将计划附加到作业
在 对象资源管理器中, 连接到 SQL Server 数据库引擎的实例,然后展开该实例。
展开 SQL Server 代理,展开 “作业”,右键单击要计划的作业,然后单击“ 属性”。
选择“ 计划 ”页,然后单击“ 选取”。
选择要附加的计划,然后单击“ 确定”。
在 作业属性 对话框中,双击附加的计划。
验证是否已正确设置 开始日期。 如果不是,请设置计划开始的日期,然后单击“ 确定”。
在“ 作业属性 ”对话框中,单击“ 确定”。
使用 Transact-SQL
安排任务
在 “对象资源管理器” 中,连接到某个数据库引擎实例。
在标准栏上,单击“新建查询”。
将以下示例复制并粘贴到查询窗口中,然后单击 执行。
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)。