以编程方式创建SQL作业

时间:2011-03-31 06:54:40

标签: c# .net sql sql-job

我使用SQL Server 2008和.NET 3.5 Framework。

在我的程序中,数据库上的存储过程根据用户输入而改变。

用户可以确定其任务的日期。

所以,我想以一种方式编写程序,用于改变存储过程的SQL Job是由程序创建的。

如何以编程方式创建作业?

1 个答案:

答案 0 :(得分:4)

您可以通过两种方式以编程方式执行此操作:

1。 如果您只需要改变程序:

// written from the head
...
using System.Data.SqlClient;
using Smo = Microsoft.SqlServer.Management.Smo;
using Microsoft.SqlServer.Management.Common;

string strConnectionString = ".......";
string strAlterProcCommandText = "ALTER PROC dbo.blablabla (..) AS .......\r\nGO";

using (var conn = new SqlConnection(strConnectionString))
{
  conn.Open();
  var server = new Smo.Server(new ServerConnection(conn));
  var result = server.ConnectionContext.ExecuteNonQuery(strAlterProcCommandText);
  Console.WriteLine("Result: " + result);
}

2。 或者,如果要使用SQL Job执行此操作,则可能必须使用上面的示例,而不是strAlterProcCommandText = "ALTER PROC..."执行将添加SQL作业的命令。通常我会以这种方式生成一个sqljob查询:

  1. 打开SQL Server Management Studio
  2. 在某个服务器的“对象资源管理器”窗口中,我转到: SQL Server代理»工作»鼠标右键单击»新工作...
  3. 然后创建一个看似我想要执行的简单作业,为创建的作业命名
  4. 右键单击添加的作业,然后在上下文菜单中按照以下方式操作:脚本作业为»创建到»新查询编辑器窗口
  5. 复制生成的脚本,根据需要进行参数化,然后转到strAlterProcCommandText
  6. 希望你有我的想法。