从 VS 2012 在 SQL Server 2012 数据库项目中创建 SQL 代理作业

Posted

技术标签:

【中文标题】从 VS 2012 在 SQL Server 2012 数据库项目中创建 SQL 代理作业【英文标题】:Creating SQL Agent JOBs in SQL Server 2012 Database Projects from VS 2012 【发布时间】:2013-04-30 15:55:44 【问题描述】:

我正在处理Visual Studio 2012 with Update 2 + SQL Server Data Tools,我可以处理SQL Server Database Projects

如何在此数据库项目中创建/添加新的 SQL 代理作业?因为如果我点击 Add - New Item... 我看不到 Job 的任何内容。

我知道 Jobs 与 SQL Server 相关,而 Database Project 与 SQL Database 相关。但我想知道如何管理 SQL 作业?

谢谢, 普拉巴特

【问题讨论】:

【参考方案1】:

本机不支持作业。可以从部署后脚本中添加这些,尽管我没有尝试过。

【讨论】:

感谢 David 就尚不支持的职位提供意见。是的,部署后脚本是我们可以做的一种方式。【参考方案2】:

Visual Studio 数据库项目不支持创建服务器代理对象;但是您可以通过调用 dbo.sp_add_job 存储过程来添加您的工作。

最简单的方法是:

    通过 SSMS 创建您的作业并复制脚本。

    控制该作业是否已存在于数据库中或不在您的部署后脚本中。如果存在则先删除;否则您将在部署期间遇到错误。您可以执行以下操作:

 DECLARE @JobID BINARY(16)
    SELECT @JobID = job_id
    FROM msdb.dbo.sysjob
    WHERE (name = N'NameOfYourJob')
    IF (@JobIDdel IS NOT NULL)
    BEGIN
      EXECUTE msdb.dbo.sp_delete_job @job_name = N'NameOfYourJob'
    END
    将用于创建作业的脚本粘贴到发布部署脚本中。

为了让您感觉更安全,您可以检查当前工作是否在工作,然后 您也可以在删除之前禁用作业。

Disable a job

Check job status

【讨论】:

以上是关于从 VS 2012 在 SQL Server 2012 数据库项目中创建 SQL 代理作业的主要内容,如果未能解决你的问题,请参考以下文章

VS 2010 看不到 SQL Server 2012 Express

实体数据模型向导在 vs 2012 中未显示 Microsoft SQL Server Compact 3.5

vs 或 Sql server2012连接Sql server时出现的问题:已成功与服务器建立连接,但在登陆过程中发生错误

VS 2010 SQL Server Compact 现在在数据库表编辑视图中添加

vs 或 Sql server2012连接Sql server时出现的问题:已成功与服务器建立连接,但在登陆过程中发生错误

vs 或 Sql server2012连接Sql server时出现的问题:已成功与服务器建立连接,但在登陆过程中发生错误