master数据库内保存了SQL Server最重要的信息,主要包括:
1.服务器系统配置
2.用户登录账户
3.用户数据库的配置及文件位置
master数据库备份的原则是:只要SQL Server系统配置有任何更改或者执行各项数据库管理工作,都要备份master数据库
1.创建或者删除数据库
2.新建或者移除文件和文件组
3.新建SQL Server登录账户或变更安全性设置
4.更改SQL Server服务器级别设置,或者数据库配置选项
5.创建或者移除备份设备
6.配置SQL Server分布式查询与远程调用(RPC)功能
master数据库还原步骤
1.执行setup.exe重建master数据库
2.以'单一用户模式'启动SQL Server实例
3.利用最近一次的备份数据还原master数据库
4.重新启动SQL Server实例
在SQL Server 2008中,如果需要重新创建master数据库,必须利用SQL Server的安装程序从命令行执行setup.exe,语法为:
setup.exe /QUIET /INSTANCENAME=MSSQLSERVER /ACTION=REBUILDDATABASE /SQLSYSADMINACCOUNTS=Administrator /SAPWD=...
/QUIET:setup.exe工具程序不呈现互动画面,直接完成指令所要求的工作
/INSTANCENAME:目标实例名称,如果是默认实例则为MSSQLSERVER
/ACTION:要setup.exe执行的工作,此处REBUILDDATABASE选项代表要创建系统数据库
/SQLSYSADMINACCOUNTS:管理SQL Server实例的Windows账户
/SAPWD:若SQL Server的验证采用混合验证模式,则通过这个参数给定sa账户的密码,要满足复杂度
SQL Server 2008后setup.exe工具程序在路径 C:/Program Files/Microsoft SQL Server/100/Setup Bootstrap/Release 下
执行sqlservr.exe 加上-m选项,以单用户模式启动SQL Server,如:sqlservr.exe -m
sqlservr.exe在路径C:/Program Files/Microsoft SQL Server/MSSQL10.MSSQLSERVER/MSSQL/Binn下
利用单用户模式启动SQL Server实例后,应先停用SQL Server相关服务,包括:
1.SQL Server Agent
2.SQL Server Analysis Services
3.SQL Server Fulltext Search
4.SQL Server Integration Services
5.SQL Server Reporting Services
执行RESTORE DATABASE语句还原master数据库
详细步骤:
1.创建master的备份设备
2.设置master数据库的恢复模式为完整
3.备份master数据库到Master_BackupDevice备份设备中
4.备份master数据库后创建,测试还原master之后的结果
5.停掉SQL Server所有服务,并在路径C:/Program Files/Microsoft SQL Server/MSSQL10.MSSQLSERVER/MSSQL/DATA下删除master数据库文件(master.mdf)和mastlog.ldf文件,以模拟master数据库的损坏
6.重建master数据库,进入命令行界面执行 cd C:/Program Files/Microsoft SQL Server/100/Setup Bootstrap/Release进入此路径,然后执行 setup.exe /QUIET /INSTANCENAME=MSSQLSERVER /ACTION=REBUILDDATABASE /SQLSYSADMINACCOUNTS=CA0043416 /SAPWD=1q2w3e.!! 命令,如下图,此时C:/Program Files/Microsoft SQL Server/MSSQL10.MSSQLSERVER/MSSQL/DATA路径下出现了master.mdf和mastlog.ldf文件
7.单用户模式启动SQL Server实例,进入命令行界面执行 cd C:/Program Files/Microsoft SQL Server/MSSQL10.MSSQLSERVER/MSSQL/Binn进入此路径,然后执行命令sqlservr.exe -m,如下图所示:
8.还原master数据库,再打开一个命令行界面,执行sqlcmd命令,利用sqlcmd工具程序登陆SQL Server
9.还原成功 执行NET START MSSQLSERVER命令,重新启动SQL Server实例
10.如预期所想,启动SQL Server实例后没有AfterMaster数据库,则附加数据库到SQL Server