本文出自 “乐成的技术笔记” 博客,谢绝转载!
SQL Server备份与还原--恢复master数据库
简介:
Master数据库在整体上控制SQL sever的所有方面。这个数据库中包括所有的配置信息、用户登陆信息、当前正在服务器中运行的信息等。是整个系统中最重要的数据库。Master数据库被损坏,可能导致SQL Server实例无法启动,所以在创建了任何用户定义的对象后都要备份它。下面几种情况都应该备份Master数据库:
更改服务器范围的配置选项
创建或删除用户数据库
创建或删除逻辑备份设备
Master数据库只能做完整备份
实验名称:备份master数据库
实验模拟环境:
Master数据库数据丢失或出现设置错误,但能启动实例,通过还原Master的完整备份修复已损坏的数据库
注:恢复的前提必须是此前对数据库进行过完整备份,否则就失败。
实验步骤:
1. 破坏master文件(假设其文件破坏)
停止SQL Server服务,更改数据库文件master.mdf(随便重命名这里改为yue.mdf)
再次启动SQL Server服务,系统会提示错误信息,启动失败,如下图所示;
将数据库安装光盘1放进光驱
2. 运行安装setup.exe,重建master数据库。
在命令行下,运行cd c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn路径,进入数据库安装目录。
运行start /wait E:\setup.exe /qn INSTANCENAME=mssqlserver
REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=123.com
查看系统目录如图,新建成功。
3. 重建成功好,重新启动服务。
4. 登陆服务器后的数据库
只有系统数据库,用户自己建的数据库和服务器配置全都没了,如下图所示;
5.直接在master上进行数据还原。
会提示master数据库正在使用,如下图;
6.停止服务,启动单用户模式。
停止SQL Server的所有服务。
在命令行下输入cd c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn进入数据库安装目录,然后运行sqlservr.exe �Cc �Cm命令。如图所示;
7.启动SSMS,新建查询。
打开SSMS工具,先断开连接,在新建查询,执行以下还原命令,如图所示;
USE master
GO
RESTORE DATABASE master FROM Disk='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\master.bak'(备份文件名)
WITH REPLACE
如下图所示,是执行成功后的提示信息
8.重新启动数据库服务。
再次查看数据库恢复后的结果,用户创建的数据库都显示出来了,如图所示;
注意:其他系统数据库可以直接从完整备份中恢复,不需要向master一样从单用户模式恢复。