SQL作业如何找回,跪求!!!高分

我不是路人丁 2021-05-18 01:50:55
原数据库为SQL SERVER 2008R2,MDF和LOG文件都在。

把服务器重装了,SQL 装的是SERVER 2012 ,但之前2008R2里面的作业都找不到了。

有没有什么办法可以把作业找到?作业里面都是SQL代码。
...全文
286 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
晴天8 2021-05-19
  • 打赏
  • 举报
回复
引用 5 楼 晴天8 的回复:
找到原来的 msdb.mdf 然后找一台新的测试机,或者测试实例,直接用这个文件覆盖 msdb; 然后你点击作业,发现作业出来了; 最后,用对象资源管理器详细信息,批量生成创建作业的脚本,搞定;
LDF也要一起 (1)关闭测试实例 (2)把原MSDB的 mdf、ldf 替换、覆盖测试服务器/测试实例的 MSDB 文件 (3)启动sql server服务,然后刷新作业;就可以看到之前的作业了 (4)然后用对象资源管理器详细信息,批量右击生成创建作业脚本;保存下来到你需要创建的地方去使用就好了
晴天8 2021-05-19
  • 打赏
  • 举报
回复
找到原来的 msdb.mdf 然后找一台新的测试机,或者测试实例,直接用这个文件覆盖 msdb; 然后你点击作业,发现作业出来了; 最后,用对象资源管理器详细信息,批量生成创建作业的脚本,搞定;
唐诗三百首 2021-05-19
  • 打赏
  • 举报
回复
请问遇到什么问题?
我不是路人丁 2021-05-18
  • 打赏
  • 举报
回复
2种方法都试了,不行呀。但还是谢谢!
唐诗三百首 2021-05-18
  • 打赏
  • 举报
回复
1.找到原msdb数据库的数据库文件:
MSDBData.mdf
MSDBLog.ldf

2.附加到现有数据库实例中,新数据库名不能是msdb,需重命名一下.

3.在新数据库实例中,查询系统表,

use [新数据库名]
select JobName=a.name,
StepID=b.step_id,
StepName=b.step_name,
DatabaseName=b.database_name,
Command=b.command
from dbo.sysjobs a
join dbo.sysjobsteps b
on a.job_id=b.job_id
where a.enabled=1
order by a.name,b.step_id

吉普赛的歌 2021-05-18
  • 打赏
  • 举报
回复
文件在就没事, 附加上去就可以了。 下图,找到 mdf 文件附加就是。

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧