MSSQL 定时作业是一种有效的把 MS SQL 服务器任务自动化的方式,可实现计划处理,可以按一定的时间段定期执行或周期性执行 SQL 脚本、存储过程等指令或脚本文件, 如备份、重新索引数据库等。
以下是在 MS SQL Server 2000 中配置定时作业的示例步骤:
第一步,调出“任务计划程序”窗口,可以通过【开始】-> 【程序】->【Microsoft SQL Server】->【任务计划程序】调出。
第二步,单击“新建任务”,出现“任务信息”对话框,填写任务名、描述。 单击 [确定],出现“活动设置”窗口,单击 [新 Read 键],调出“新建活动”窗口,单击 [继续],出现“新建活动 – 作业”窗口;
第三步,在“新建活动 – 作业”窗口设置 “作业类型”,单击 [由 Transact-SQL 语句创建],然后输入 Transact-SQL 语句,单击 [确定];
第四步,在“新建活动 – 作业”窗口设置 “频率”、“新任务启动日期与时间”,最后单击 [新 Read 键] 将就绪的任务保存;
最后,单击[确定]按钮保存配置完成,MS SQL 定时作业配置完成。
另外,MS SQL Server 还提供了基于代码及 API 来配置定时作业,有兴趣的读者可以自行搜索查看相关 API 进行学习。例如,可以使用如下代码片段,以编写一个定时作业:
// 定义MS SQL Server的任务管理器
using (TaskService taskService = new TaskService())
{
// 添加新的任务
TaskDefinition taskDef = taskService.NewTask();
// 设置任务的触发器,让任务在指定的时间段内执行
taskDef.Triggers.Add(new DailyTrigger { StartBoundary = DateTime.Today + TimeSpan.FromHours(12), DaysInterval = 1 });
// 设置任务的操作,如执行 SQL 脚本
taskDef.Actions.Add(new ExecAction(“sqlTaskRun.exe”, “-taskExecute param1 param2” , null));
// 保存任务到MS SQL Server
string taskName = “mySqlTask”;
taskService.RootFolder.RegisterTaskDefinition(taskName, taskDef);
Console.WriteLine(“Task {0} has been created, you can change it’s setting in MSSQL Server.”, taskName);
}
通过上述步骤,可以让 MS SQL Server 的定时作业更加简单有效地自动化处理。