MSSQL作业的自主创建方法(mssql作业创建)

2023-04-21 19:36:52 创建 作业 自主

使用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作业,而不需要复杂的管理控件和系统服务。这样就可以节省时间和精力,提高程序效率。

相关文章