我继承了一台 MS SQL 2008r2 机器。
该机器有大约 20 个作业,列于以下位置:
Server -> SQL Server Agent -> Jobs
在我接触这台机器之前,我想在 SVN 中备份这些作业,以便我可以跟踪我的更改。
我想将其备份到 SVN,因为我希望源文件与该公司相关的其他 30 个存储库位于同一位置。
这些作业在磁盘上的物理位置在哪里?
也就是说,文件夹在哪里,我可以右键单击它,选择复制,然后转到我保存存储库的位置并粘贴它。
没关系:但是这台机器不允许安装 TortoiseSVN。我不会反对,我只会复制文件并在另一台机器上签入。这台机器很快就会退役。
将它们签入 SVN 有两个目的:1. 让我能够看到文件在未预料到的情况下发生的变化。2. 让我能够在具有更多搜索和格式化工具的计算机系统上签出源代码。
答案1
检查 msdb..jobs 和 msdb..jobsteps。如上注释所述,如果某个步骤调用了外部文件,则必须按照路径将该文件移出 SQL Server。以下是一些 SQL 供您入门,其他列可能对您有意义。
Select j.name, j.enabled, j.description,
js.step_id, js.step_name, js.subsystem, js.command
From msdb.dbo.sysjobs j
Inner Join msdb.dbo.sysjobsteps js On j.job_id = js.job_id
Order By j.name, js.step_id