今天公司数据库服务器down了,要启动备机,所以用了每天的备份文件还原到备机,生产数据库恢复过程一切都比较顺利的完成,应用很快得到恢复,正常运作。但还有些后续工作,需要我这个DBA来完成,比如DTS的重建,job重新布置。
由于job比较多,多亏平时考虑比较周全,每个月把系统数据库(master,msdb,model )这3个库备份了,现在主要就要用到msdb,把msdb还原,由于msdb是控制管理job的所以,通常会有系统账户在登陆使用它,我的做法是开两个企业管理器,一个做好恢复准备,一个用来结束进程,虽然有些笨,不过挺简单,好用。
还原后,在企业管理器-管理-作业下看到所有的job回来了,呵呵,貌似成功。但修改作业会提示错误,这主要是因为恢复msdb库到备机,主
机名不同导致的。
这时需要做以下几步:
1、查找服务器名称
select serverproperty('servername')
或者
select @@servername
2、查看sysjobs表中的originating_server,这个字段代表‘作业来自的服务器名称’。
select * from sysjobs
发现originating_server<>serverproperty('servername'),这就是导致不能修改的原因
3、修改originating_server
update sysjobs set originating_server =cast(serverproperty('servername')as varchar(50))
4、再次修改,ok可以保存。
下面是个网友写的,个人觉得也蛮好的,大体思想不变,更灵活