上一章中,系统数据库重建之后,数据库、登录名、作业、备份信息等对象都不见了。所有得还原系统数据库master、msdb、model,一般还原两个就行了。Model数据库很少有更改,如果没有增加过数据模板可以不还原它,用当前的就行。Tempdb在每次启动数据库时都重新生成,没必要备份和还原。
如图,没还原系统库前的情况
还原系统数据库:
1 停止SqlServer所有服务
2 以管理员打开命令行,单用户启动SqlServer服务
net start MSSQLSERVER /m
3 信任连接SqlServer
sqlcmd -E -S serverName
4 首先还原master数据库
restore database masterfrom disk = 'D:\Microsoft SQLServer\MSSQL10_50.MSSQLSERVER\MSSQL\Backup\master.bak'
go
5 还原好后,启动SqlServer服务,可以登录数据库了。接着再继续还原msdb和model数据库(还原msdb时先不要启动SqlServer代理服务)
use master
go
--还原msdb数据库
restore database msdb
from disk = 'D:\……\msdb.bak'
with
move 'MSDBData' to 'D:\……\msdbdata.mdf',
move 'MSDBLog' to 'D:\……\msdblog.ldf',
replace
go
--还原model数据库
restore database model
from disk = 'D:\……\model.bak'
with
move 'modeldev' to 'D:\……\model.mdf',
move 'modellog' to 'D:\……\modellog.ldf',
replace
go
6 还原好之后,再启动SqlServer代理服务,检查看到相关作业都还原回来了。本机点对点测试,正常同步。
已完成。总结的话不多说,备份系统数据库是很重要的!