MSSQL作业的自主创建方法(mssql作业创建)
使用MSSQL生成作业的自主创建方法是可能的,通过.net编程实现这个任务可以节省时间和精力。在这篇文章中,我将展示如何使用C#脚本创建和管理MSSQL作业。
作业是SQL Server提供的一种用于在SQL Server实例上执行自动任务的控件。MSSQL作业与其他标准作业功能一样,可以用来调度执行批处理文件、脚本、存储过程等任务。作业可以按计划执行,也可以由其他作业调度执行,或根据SQL Agent服务器和数据库的状态自动执行。
要创建MSSQL作业,首先要了解msdn上的SQL Server框架,其中包含用于管理作业的脚本。然后,读者可以根据自身的要求为不同的变量创建C#脚本:
using System;
using System.IO;
using Microsoft.SqlServer.Management.Smo;
using Microsoft.SqlServer.Management.Common;
//Create job instance
Job myJob = new Job(“MyJobName”);
//Create job step instance
JobStep myStep = new JobStep(“MyStepName”);
myStep.SubSystem = JobSubSystem.CmdExec; //Command Execution
myStep.Command = “My Command”;
//Set up scheduled execution
myJob.Create();
myStep.Create();
Schedules mySchedule = new Schedules();
mySchedule.FrequencyTypes = FrequencyTypes.Daily;
mySchedule.FrequencyInterval = 1;
mySchedule.FrequencyRecurrenceFactor = 2;
mySchedule.ActiveStartDay = 8;
mySchedule.ActiveStartHour = 16;
//Associate job and schedule
myJob.JobSchedules.Add(mySchedule);
//Create job
myJob.Create();
上述脚本可以创建MSSQL作业,并将作业与每日2次每次16点的调度器关联。当脚本被执行后,新创建的作业将自动在每日16点执行。
另外,有时候需要更新已有作业,比如更改作业步骤或调整时间表。以上示例也同样可以实现,只要将“myJob.Create()”替换为“myJob.Alter()”即可:
// Create job instance
Job myJob = new Job ( “MyJobName” );
// Create job step instance
JobStep myStep = new JobStep ( “MyStepName” );
myStep.SubSystem = JobSubSystem.CmdExec; // Command Execution
myStep.Command = “My Command”;
// Set up scheduled execution
mySchedule.FrequencyTypes = FrequencyTypes.Daily;
mySchedule.FrequencyInterval = 1;
mySchedule.FrequencyRecurrenceFactor = 3;
mySchedule.ActiveStartDay = 8;
mySchedule.ActiveStartHour = 16;
// Associate job and schedule
myJob.JobSchedules.Add ( mySchedule );
//Alter job
myJob.Alter();
通过以上方法,我们可以在普通的.NET代码块中创建和管理MSSQL作业,而不需要复杂的管理控件和系统服务。这样就可以节省时间和精力,提高程序效率。