2013-08-20 18 views

回答

2

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

我可能会考虑将每个作业脚本化为自己的文件并从更大的脚本中调用它们。从长远来看,这将更易于管理,您可以通过将主要脚本评论出来评论一个单一的工作。

没有办法直接比较/更新作业,尽管您可能使用数据比较工具来检查msdb中的各个作业表与某些数据的主副本。从Red-Gate进行的SQL数据比较可能是您的最佳选择,因为此时SSDT不包含数据比较功能。据说,有传言称MS正在为SSDT开发一些数据特定组件,但没有官方对此功能进行过说明。

1

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

诚然,这不是你的问题得到部署功能(听起来像你想导入,如还有比较,变化)

但是,你可以把源代码控制下的作业的“SQL”,并且使用的是含有内置DACPAC发布或间接

要点部署(UPSERT)是: 创建一个sql脚本,该脚本调用msdb sp_xxx_job存储过程

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

:r .\Jobs\MyPHATjob.sql 

相关问题