Stone 2008-8-18 09:23
Master数据库的备份和还原
[原创]master数据库的备份和还原master数据库包含了所有数据库的相关信息,在创建任何数据库,或者更改了配置时,如增加登录用户,master数据库都会有所改变,这时应该备份master数据库.
下列情况可以对mater数据库进行备份:
.创建用户数据库
.更改登录或执行与登录安全有关的操作
.更改服务器配置选项或数据库配置选项
.创建备份设备.
.添加链接服务器.等都应该对master数据库进行备份.
我添加一个登录用户.创建一个备份设备,把master数据库备份到这个备份设备.
[img]http://bbs.winos.cn/attachments/1_xN32iNO2Ew5r.jpg[/img]
[img]http://bbs.winos.cn/attachments/2_3ufvOhBOyTpG.jpg[/img]
备份设备里不包含任何内容.
[img]http://bbs.winos.cn/attachments/3_gKHhuhFZ5KBB.jpg[/img]
备份master数据库到备份设备.
[img]http://bbs.winos.cn/attachments/4_FwSKZDTiwLjt.jpg[/img]
[img]http://bbs.winos.cn/attachments/5_iQzBoOwZUJNg.jpg[/img]
删除test用户
[img]http://bbs.winos.cn/attachments/6_msv6Z0FqZtvU.jpg[/img]
现在直接还原master数据库,会不能还原,这里就是我们要注意的问题.先看直接还原,看遇到的问题.
[img]http://bbs.winos.cn/attachments/7_hCmvTzQnZDam.jpg[/img]
[img]http://bbs.winos.cn/attachments/8_l17G4mmkUPOI.jpg[/img]
在还原master数据库之前,应该先以单用户模式启动服务器,才能正常还原.
以单用户身份启动服务器的方法有两种:
一是,在sqlservr.exe可执行文件所在路径运行命令:
sqlservr.exe -c -m
或者在系统的服务里找到sql的核心服务mssqlserver.在启动时加参数-m.
[img]http://bbs.winos.cn/attachments/9_o7LtdF90v0nB.jpg[/img]
这时候就可以对master数据库进行正常的还原.
[img]http://bbs.winos.cn/attachments/10_vSkqfRYGLNfZ.jpg[/img]
[img]http://bbs.winos.cn/attachments/11_KQgzKBw7KyIp.jpg[/img]
现在就成功的还原了master数据库
[img]http://bbs.winos.cn/attachments/12_NqvXeCExtI7L.jpg[/img]
还原后重新启动master数据库,就可看到结果.我们来看一下test这用户在不在?
[img]http://bbs.winos.cn/attachments/13_9UiLVzp2tIcf.jpg[/img]
如果master数据库的备份集不可用,或者由于master数据库的损坏程度太严重而没法启动,可以尝试用rebuildm.exe这条命令来重建系统数据库.