1

我使用 SQL Server 2008 和 .NET 3.5 框架。

在我的程序中,数据库上的存储过程会根据用户输入进行更改。

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

因此,我想以一种由程序创建用于更改存储过程的 SQL 作业的方式编写程序。

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

4

1 回答 1

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 作业执行此操作,则可能必须使用上面的示例,而不是strAlterProcCommandText = "ALTER PROC..."执行将添加 SQL 作业的命令。通常我以这种方式生成一个sqljob查询:

  1. 打开 SQL Server 管理工作室
  2. 在某些服务器的“对象资源管理器”窗口中,我转到:SQL Server Agent » Jobs » Mouse-right-click » New Job...
  3. 然后创建一个看起来像我想要执行的简单作业,为创建的作业命名
  4. 右键单击添加的作业并在上下文菜单中按照以下方式操作:将作业编写为 » 创建到 » 新查询编辑器窗口
  5. 复制生成的脚本,根据需要进行参数化,然后放到strAlterProcCommandText.

希望你明白我的想法。

于 2011-03-31T07:29:12.397 回答