C# MS-SQL-是否可以使用Visual Studio SSDT插件管理SQL代理作业的代码?

C# MS-SQL-是否可以使用Visual Studio SSDT插件管理SQL代理作业的代码?,c#,sql-server,visual-studio-2012,sql-server-2012,sql-server-data-tools,C#,Sql Server,Visual Studio 2012,Sql Server 2012,Sql Server Data Tools,我在数据库中的作业保存在服务器\代理/作业中。 在Visual Studio 2012中是否有一种使用ssdt插件管理它们的方法? (能够比较/更新) 谢谢。目前,没有好办法处理这个问题。作业由存储在msdb表中的数据组成。最好的处理方法是将每个作业脚本化到自己的文件中,然后从一个较大的文件调用这些脚本,或者为这些作业创建一个包含所有脚本的大型文件 我可能会考虑将每个作业编写成自己的文件,并从更大的脚本中调用它们。从长远来看,这将更易于管理,您可以通过在主脚本中对单个作业进行注释来轻松地对其进行

我在数据库中的作业保存在服务器\代理/作业中。
在Visual Studio 2012中是否有一种使用ssdt插件管理它们的方法?
(能够比较/更新)

谢谢。

目前,没有好办法处理这个问题。作业由存储在msdb表中的数据组成。最好的处理方法是将每个作业脚本化到自己的文件中,然后从一个较大的文件调用这些脚本,或者为这些作业创建一个包含所有脚本的大型文件

我可能会考虑将每个作业编写成自己的文件,并从更大的脚本中调用它们。从长远来看,这将更易于管理,您可以通过在主脚本中对单个作业进行注释来轻松地对其进行注释

无法直接比较/更新作业,尽管您可以使用数据比较工具对照数据的主副本检查msdb中的各种作业表。红门SQL数据比较可能是最好的选择,因为SSDT目前不包括数据比较功能


话虽如此,有传言称MS正在为SSDT开发一些特定于数据的组件,但官方并未对此功能发表任何评论。

虽然没有内置支持直接在SSDT中管理SQL代理作业,但您可以使用部署后脚本获得部署功能

假设这不是你的问题(听起来像是你想导入、比较、更改)

但是,您可以将作业的“sql”置于源代码管理下,并使用发布或使用内置DACPAC间接部署它(upsert)

要点是: 创建调用msdb sp_xxx_作业存储过程的sql脚本

sp_add_job
sp_add_jobstep
sp_add_jobschedule
使用标记为部署后脚本的脚本时,请调用作业生成脚本

:r .\Jobs\MyPHATjob.sql