恢复损坏的master数据库

原创 2006年06月24日 16:29:00

恢复损坏的master数据库
我深信,大多数网友一看到这个标题,就头痛,就欲“远而避之”!然,身为类似数据库管理员的我们,又怎能去回避它呢?面对问题,我们终究还是要去正视它并想办法解决它的。相信:风雨过后会有美丽的彩虹的!
遇到损坏或者错误的master数据库是最难解决情况之一。Master数据库包含了SQL Server需要的关键信息。如果master数据库出错,那么SQL Server就不能启动。要在这种情况下还原master数据库,可以按照下面这些步骤来从灾难中恢复过来:
1.       使用/Program Files/Microsoft SQL Server/80/Tools/Binn目录下的rebuidm.exe文件重建master数据库。重建master数据库可以使你的数据库文件完整无缺。为以防万一,经常把数据和日志文件备份到一个单独的目录是个不错的主意。
2.       使用-m参数启动SQL Server,这样可以以单用户模式重新启动SQL Server
3.       从最近一次已知最好的备份来还原master数据库。
4.       核实master数据库是不是已经成功还原:确认所有数据库都已恢复正常运行。从最近一次已知最好的备份来还原msdb数据库。
5.       以普通模式停止和启动SQL Server
6.       向生产用户开放数据库。
如果这样做没有效,那么重建master数据库然后附加这个数据库。这也是DBA的任务之一,当然你并不希望经常这样做。如果master数据库出现问题,那么服务器上所有的数据库都会出现问题。
总的来说,恢复时要完成的第一个步骤就是安装一个新的master数据库,使服务器至少能够启动。在此基础上,就可以还原真正的master数据库了。双击了rebuildm.exe之后,将启动rebuild master实用程序,它需要三个参数:
     要恢复的服务器名称。
     Master数据库在原来的安装程序中的位置,如果SQL Server的版本为SP2,这个位置应当是安装CDx86/data目录(在更早的版本中,由于存在程序错误,有可能需要将这个data目录拷贝到硬盘驱动器或者网络驱动器上)。
     服务器的排序规则。
这个重建过程将会重新创建全部四个系统数据库以及NorthwindPubs,接着对服务器进行配置。整个重建过程大约需要数分钟,如果以前使用service pack对服务器进行了升级,将有可能花费更长时间。
恢复过程的第二个步骤是使用服务器管理或者企业管理器来启动服务器。
依赖于你的安全性配置,企业管理器很有可能没有连接到服务器的权限。重建master数据库将会丢掉除了sa以外的所有用户登录,并把sa的空口令重置为空。如果要调整企业管理器的连接配置,以便作为sa以空口令连接到服务器,可以编辑SQL Server的注册属性。不要担心sa的空口令,因为我们很快就会恢复真正的master数据库。
一旦服务器再次运行,你就会发现所有的用户数据库都不见了,因为重建的master数据库没有包含有关这些用户数据库的信息。
恢复过程的第三个步骤就是将服务器置于单用户模式,以便还原master数据库。在企业管理器中,要完成以下步骤:
     选择服务器。
     使用右键单击它,并从弹出的快捷方式菜单中选择“属性”菜单项,打开“服务器属性”对话框。
     单击“启动参数”按钮。
     在“参数”文本框中输入-m,然后按下“添加”按钮。
     按下“确定”按钮关闭“启动参数”对话框,然后关闭“服务器属性”对话框。
     关闭企业管理器。
       警告:在SQL Server实例处于单用户模式时,不要使用企业管理器。这样做有可能会锁定该实例,使它进入不能接受其他连接的状态。
     使用SQL Server服务器管理器停止并重新启动SQL Server实例。
       恢复损坏的master数据库的第四个步骤才是进行真正的还原。因为SQL Server现在处于单用户模式,所以必须使用查询分析器来完成这一步骤。如果试图在企业管理器中还原master数据库,将会产生严重的问题。在查询分析器中进行还原时,需要执行下面的命令:
         RESTORE DATABASE master
            FROM
            DISK=’systembackup’
            WITH FILE=1
       执行结果如下:
           The master database has been successfully restored.
                Shutting down SQL Server.
            SQL Server is terminating this process.
      关闭查询分析器,并使用SQL Server的服务管理器重新启动SQL Server实例。
      还原master数据库的最后一步是把在第三个步骤加入的-m启动参数去掉,将SQL Server实例重新置于多用户状态。要修改这个启动参数,可以使用企业管理器的“服务器属性”对话框。
      关闭企业管理器,使用SQL Server的服务管理器停止并重新启动SQL Server实例。

MS SQL Server 2008 master数据库损坏故障解决

本地电脑上安装的MS SQL Server 2008 R2可能因为硬盘原因,导致SQL Server服务无法启动,在事件查看器中看到若干错误和信息,其中有两条提示可能master损坏: 1、错误:传...

MS SQL Server 2008 master数据库损坏故障解决

MS SQL Server 2008 master数据库损坏故障解决 本地电脑上安装的MS SQL Server 2008 R2可能因为硬盘原因,导致SQL Server服务无法启动,在事件查看器中...
  • cs064
  • cs064
  • 2013年10月26日 15:34
  • 806

SQL Server 2005 Master数据库及作业的恢复

由于操作系统或SQL Server的崩溃,可能需要重新安装SQL Server 2005,而在生产中的数据中肯定会有应用到各个项目中的用户名和密码,也会有各种各样的作业,如果再一一重建,可能会出现错误...

MySQL5.6 数据库主从(Master/Slave)同步安装与配置详解

安装环境操作系统 :CentOS 6.5 数据库版本:MySQL 5.6.27 主机A:192.168.1.1 (Master) 主机B:192.168.1.2 (Slave)这里强调的数据库的版本...

MySQL数据库主从(Master/Slave)同步安装与配置

MySQL数据库主从(Master/Slave)同步安装与配置 MySQL的主从同步是一个很成熟的架构,优点为: ①在从服务器可以执行查询工作(即我们常说的读功能),降低主服务器压力; ②在...

SQL Server 2008 系统数据库master 修复 还原

一、系统数据库master中的系统表 被删除,

Mysql 5.5 replication 多数据库主从备份Master-Slave配置总结

配置Mysql server 5.5 的双机备份,也就是master-slave模式。本例子还是一个多database复制的情况。 现在有两个database在同一台mysql server...
  • yzhou86
  • yzhou86
  • 2013年10月14日 15:06
  • 2071

MySQL数据库集群Master-Slave模式安装摘要

MySQL数据库集群Master-Slave模式安装摘要

Select * From master.dbo.sysdatabases 查询本数据库信息

Sysobjects:SQL-SERVER的每个数据库内都有此系统表,它存放该数据库内创建的 所有对象,如约束、默认值、日志、规则、存储过程等,每个对象在表中占一行。 对象类型(xtype)。可以...
  • Aug0st
  • Aug0st
  • 2014年12月29日 18:00
  • 2322

sql2005如何還原master數據庫

SQL Server 2005 & 2008 master与msdb数据库的备份与恢复枢木 2011-05-11============================================...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:恢复损坏的master数据库
举报原因:
原因补充:

(最多只允许输入30个字)