模拟Master数据库损坏,无法启动 MSSQLSERVER 服务,以下详细步骤:


1) 备份Master数据库

2) 停止 MSSQLSERVER 服务,用记事本打开Master数据库,然后删除部分内容

3) 启动 MSSQLSERVER 服务会失败(Master数据库已损坏)


4) 重建Master数据库,2种方法 (测试时我选择了方法a)

a.从其它Server copy Master数据库

b.利用 MSSQLSERVER 安装光盘start /wait d:setup.exe /qn INSTANCENAME=MSSQLSERVER REINSTALL=SQL_Engin REBUILDDATABASE=1 SAPWD=123456


5) 启动 MSSQLSERVER 服务,启动参数为 -c -m ,此为单用户维护模式


6) 打开SSMS新建查询,需要注意把其它服务停止掉(SQL FULLTEXT/Report Services...),否则会提示无法连接,单用户模式


7) 执行还原Master数据库命令

RESTORE DATABASE Master FROM DISK = N'D:\Database\Master.bak' WITH REPLACE, STATS=10


8) 还原成功后,会停止MSSQLSERVER 服务,需要重新手动启动服务


已处理百分之 25。

已处理百分之 51。

已处理百分之 76。

已处理百分之 100。

已为数据库 'master',文件 'master' (位于文件 1 上)处理了 496 页。

已为数据库 'master',文件 'mastlog' (位于文件 1 上)处理了 4 页。

已成功地还原了 master 数据库。正在关闭 SQL Server。

SQL Server 正在终止此进程。