SQL Server job 的迁移及扩展知识

当数据库服务器出现问题时,DBA需要进行SQL Server作业的迁移。本文详细介绍了如何利用备份还原msdb数据库,以及在作业迁移后遇到的主机名不匹配问题的解决步骤,包括查询服务器名称、检查sysjobs表、更新originating_server字段,并提供了灵活的解决方案和相关系统存储过程的解释。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天公司数据库服务器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可以保存。

 

下面是个网友写的,个人觉得也蛮好的,大体思想不变,更灵活

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值