建 master 数据库
在下列情况下,可以使用重建主控实用工具重建 master 数据库: master 数据库的当前备份不可用。
Microsoft® SQL Server™ 实例因 master 数据库已严重损坏而无法启动,因此无法还原备份。 
重建 master 数据库后,可以还原 master 数据库的当前备份,或者可以使用 SQL Server 企业管理器或用于创建那些条目的原始脚本,重新创建用户数据库、备份设备、SQL Server 登录等等。重要  重建主控实用工具完全重建 master 数据库。因为还可能重建 msdb 和 model 系统数据库,所以正常情况下必须还原那些数据库的备份。 
如果没有备份可用,完全重建 master 数据库所需的一般步骤是: 运行重建主控实用工具以重建系统数据库。 
重要  重建 master 数据库需要含 SQL Server 安装软件的光盘或共享网络目录。重新创建任何必需的备份设备。
重新执行安全操作。
如有必要,还原 msdb 数据库。
如有必要,还原 model 数据库。
如有必要,还原 distribution 数据库。
如有必要,还原或附加用户数据库。 
重新创建了 master 数据库且重新应用了任何更改后,立即备份 master 数据库。

解决方案 »

  1.   

    如何重建 master 数据库(重建 Master 实用工具) 
    重建 master 数据库 关闭 Microsoft® SQL Server™ 2000,然后运行 Rebuildm.exe。该程序位于 Program Files\Microsoft SQL Server\80\Tools\Binn 目录中。
    在"重建 Master"对话框中单击"浏览"按钮。
    在"浏览文件夹"对话框中,选择 SQL Server 2000 光盘上或用于安装 SQL Server 2000 的共享网络目录中的 \Data 文件夹,然后单击"确定"按钮。
    单击"设置"按钮。在"排序规则设置"对话框中,验证或更改用于 Master 数据库或其它数据库的设置。 
    最初,显示的是默认排序规则设置,但这些设置有可能与安装期间选择的排序规则不匹配。可以选择与安装期间使用的排序规则相同的设置,也可以选择新的排序规则设置。完成后单击"确定"按钮。在"重建 Master"对话框中单击"重建"按钮以启动进程。 
    重建 Master 实用工具重新安装 master 数据库。
     
    说明  若要继续,则可能需要终止正在运行的服务器。
      

  2.   

    如何在单用户模式下启动 SQL Server 的默认实例(命令提示符)
    在单用户模式下从命令提示符启动 SQL Server 的默认实例 从命令提示符输入: 
    sqlservr.exe -c -m
     
    说明  在启动 sqlservr.exe 之前,必须在命令窗口中切换到适当的目录(要启动的 Microsoft® SQL Server™ 实例所在的目录)。
      

  3.   

    重建 master 数据库 关闭 Microsoft® SQL Server™ 2000,然后运行 Rebuildm.exe。该程序位于 Program Files\Microsoft SQL Server\80\Tools\Binn 目录中。
    在"重建 Master"对话框中单击"浏览"按钮。
    在"浏览文件夹"对话框中,选择 SQL Server 2000 光盘上或用于安装 SQL Server 2000 的共享网络目录中的 \Data 文件夹,然后单击"确定"按钮。
    单击"设置"按钮。在"排序规则设置"对话框中,验证或更改用于 Master 数据库或其它数据库的设置。 
    最初,显示的是默认排序规则设置,但这些设置有可能与安装期间选择的排序规则不匹配。可以选择与安装期间使用的排序规则相同的设置,也可以选择新的排序规则设置。完成后单击"确定"按钮。在"重建 Master"对话框中单击"重建"按钮以启动进程。 
    重建 Master 实用工具重新安装 master 数据库。
      

  4.   

    Thank Everybody!已顺利恢复和还原。
    在删除master.mdf前,我已将master、msdb和所有用户Database作了完全备份。
    我的恢复过程是这样的:
    1。使用rebuildm.exe重建master数据库
    2。将实例至于单用户模式。
       在这里遇到一个问题,由于所要恢复的并非默认实例,我用命令“sqlservr -c -m”(用的是处于所要恢复的实例目录下的sqlservr.exe),但系统却当作是要把默认实例已单用户模式启动,请问有没有参数用于设置实例名?
        因此我不得不在“企业管理器”-实例属性-“启动参数”中设单用户模式。
    3。从master数据库的备份进行恢复。
       在这里有一个疑问。
       我发现用命令“restore database master from disk=‘......’....”后,不仅master恢复了,所有的用户数据库也都恢复了,不需要使用用户数据库的备份了,为什么会怎样?是否以后只需备份master 就行了?
       然后我只恢复了msdb,恢复master后,是否一定要恢复msdb?
    谢谢!
    再请各位赐教!
      

  5.   

    1.
    在单用户模式下从命令提示符启动 SQL Server 的命名实例 从命令提示符输入: 
    sqlservr.exe -c - m -s {instancename}2.
    因为你的用户数据库文件还在原来的路径下
    用户数据库当然也要备份3.
    如果你的实例中没有作业,维护计划等等,msdb也可不还原
      

  6.   

    --我总结的一些心得,希望对你有帮助.  如果你的Master数据库损坏或者是你丧失了整个SQL Server 2000的安装,那么你就需要恢复Master数据库或者是重建你的系统数据库.如果你的master数据库还可以运转但是在某一方面被损坏的话,你就可以从最近一次数据库的全库备份中恢复Master数据库.但是如果你的Master数据库停止运转了,或者是说你的SQL Server根本启动不了,那么你就应该重建系统数据库.你应该根据你的实际情况来合理的选择是恢复Master数据库还是重建系统数据库.
    1.恢复Master数据库
    恢复Master数据库和恢复用户数据库不太一样.为了恢复Master数据库,用以下的命令在命令行方式下以单用户模式启动SQL Server 2000.Sqlservr –m(先切换到sqlservr所在的目录,可以查找一下)  这种方式是把SQL Server 2000作为应用程序来启动的,并不作为系统的服务来启动的.然后你就可以启动查询分析器来执行restore语句来恢复Master数据库.Restore database master from <备份设备>  Master数据库恢复完成之后,在这种模式下启动的SQL Server 2000就会停止.你就可以重起SQL Server服务,一切又都运转如初了.
    2.重建系统数据库
      启动Rebuildm.exe工具,此工具在C:\Program Files\Microsoft SQL Server&#9280;\Tools\Binn目录下.当你用Rebuildm.exe工具的时候,你用原先系统数据库的数据文件来覆盖目前的数据库文件.
    注意:你必须把data文件夹拷贝到磁盘上来,而且一定要把data文件夹的只读属性去掉.不然的话,rebuildm.exe就回一直进行下去,不回停止.
    当你重建完系统数据库之后,你就需要按上边讲的方法来恢复Master数据库.
      

  7.   

    --因为Master的文件损坏了,但是你的别的数据库的文件并没有损坏.恢复了Master后,自然别的用户数据库也就恢复了.是否恢复Msdb数据库就看你的需要了,Msdb里边存储的是job,alert等自动化信息,如果你创建了这些,你就可以进行备份恢复.如果你没有用到这些,不恢复也可以.