如何从一组分离的主、模型、mdb 文件中拯救 SQL 代理作业?

gro*_*wse 5 sql-server-2008-r2 restore sql-server-agent

我有一个 MSSQL (MSSQL 2008 R2) 集群以一种我无法恢复的方式失败(长话短说,服务器最终陷入 BSOD 循环,我责怪 Broadcom 和我自己)。

我有 SQL 备份,更好的是,我有分离的 MDF 和 LDF 文件,因为它们在一切都出错之前就在 SAN 上。我现在的任务是将这些恢复到新建的服务器。

数据库本身、登录名和 SSIS 包都不是问题,因为我已经掌握了所有这些。困扰我的是在以前的服务器上定义的 SQL 代理作业。我隐约知道这些文件存储在 MSDB 的某个地方,但是我应该通过哪些步骤从我已经获得的 MDF/LDF 文件中检索这些文件并将它们加载到新服务器上?

我不会在新服务器上恢复模态、msdb、master 和 temp 数据库,所以我应该寻找以不同名称附加旧文件并从中提取作业定义,还是有其他一些(更好) 道路?

Sta*_*hns 8

您必须以不同的名称(如“jobsdb”)附加 MSDB 数据库,然后从 jobsdb 中提取作业。作业将存储在 下jobsdb.dbo.sysjobs,作业步骤将在 下jobsdb.dbo.sysjobsteps。它们可以通过 job_id 列连接。

日程表可以在jobsdb.dbo.sysjobschedulesjoin with jobsdb.dbo.sysscheduleson schedule_id下找到。

可以使用插入选择或使用存储过程将行添加到您当前的 msdb 中: sp_add_job, sp_add_jobstep, sp_add_jobschedule, sp_add_jobserver.