SqlServer系统数据库还原(一)master 数据库还原模拟测试
master 数据库记录什么信息? master 数据库记录 SQL Server系统的所有系统级信息。这包括实例范围的元数据(例如登录帐户)、端点、链接服务器和系统配置设置。在 SQL Server中,系统对象不再存储在 master数据库中,而是存储在 Resource数据库中。此外,master数据库还记录了所有其他数据库的存在、数据库文件的位置以及 SQL Server的初始化信息。因此,如果 master数据库不可用,则 SQL Server无法启动。(摘) 更多参考:master数据库 master 数据库在什么时候备份? 1.创建删除用户数据库 2.添加删除文件或文件组 3.添加登录或添加登录相关的信息 4.更改服务器范围的配置和数据库配置选项 5.创建删除逻辑备份设备 6.配置用于分布查询或远程调用的服务器,如链接服务器或远程登录 (不过这些都不是重要的,只要数据库在运行,以上的信息都可以手动重新配置。Master数据库比较小,占用很小的空间,可每周备份一次。如果频繁改变数据库元数据,可按天备份) master 数据库在什么时候还原? 1.自然灾害或人为不小心致硬盘损坏 2.硬件老化损坏 2.master相关数据传输过程损坏 3.病毒入侵文件损坏 (总的来说,就是数据库都打不开或者服务启动不了的时候,确定在还原master数据库) 更多参考:还原 master数据库 (Transact-SQL) master 数据库还原(测试):
? 模拟破坏! 1 先备份系统数据库! ? ? 2 将SqlServer服务停止 ? ? 3 用文本编辑文件master.mdf(一般都不会很大),任意增删字符破坏! ? ? 4 现在启动SqlServer服务,启动不了了! ? ? 5 启动不了,先看看启动的参数路径正确了没有?一般都配置3个启动参数(data、error、log) -dD:Microsoft SQLServerMSSQL10_50.MSSQLSERVERMSSQLDATAmaster.mdf; -eD:Microsoft SQLServerMSSQL10_50.MSSQLSERVERMSSQLLogERRORLOG; -lD:Microsoft SQL ServerMSSQL10_50.MSSQLSERVERMSSQLDATAmastlog.ldf ? ? 6再看系统错误报告,系统已经提示还原master数据库或重新安装数据库了。如果确定上面的启动参数正确了,那就按照系统建议来吧。但是重装数据库,很多相关配置都初始化,丢失很多数据,非常不好!只能先还原master数据库了,不行再卸载重装SqlServer实例。 ? ? 7 现在开始吧!但是,服务都启动不了!不能还原!为了能保证数据库正常启动,在另一台系统版本相同的计算机中,安装一个版本相同SqlServer产品。注意,安装的系统数据库路径也要相同!安装完成后,将其服务停止,拷贝系统数据库master替换当前计算机中损坏数据库的文件。发现服务能启动了。 ? 8 登录之后发现什么都没有,master的记录信息全都已经初始化了!如果开启代理查看,msdb记录的代理信息还在。要找回以前的信息,只能还原master数据库了。 ? ? 9 还原master数据库,就不能再打开SSMS用界面来操作了,现在用命令行打开。 ? A 单用户启动SqlServer服务(win7启动错误,请以管理员身份运行) netstart MSSQLSERVER /m ? B 受信连接SqlServer服务器实例 sqlcmd -E -S serverName ? C 连接后还原master数据库(成功后SqlServer服务自动停止) restore database master from disk = 'c:master.bak' go ? ? 10 好了,现在启动服务打开数据库,master记录的信息找着了。原来我的3个数据库本地做点对点测试的也能正常运行了! 至此,数据库已经正常运行。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |