SQL Server2000数据库系统中,有多个系统数据库,master,model,msdb,tempdb等。其中master数据库是最重要的数据库,存储的是SQL Server系统的所有系统级别信息,包括磁盘空间,文件分配和使用、系统级的配置参数。同时还记录了所有的登录帐户信息、初始化信息和其他数据库信息。一旦master数据库异常,会导致整个数据库系统都无法正常功能。由于master数据库的重要性,所以一般禁止用户直接访问,如果一定要修改,确保在修改前要做完整的数据备份。
 一:备份master数据库
    1:master数据库的备份场景:
     在下列情况下,应该备份master数据库。
      创建或删除用户数据库
      添加/删除登录帐户或修改的数据库级别的角,从而影响了整个数据库服务器的安全性
      更改了服务器级别的配置选项或数据库配置选项
      简单的说,也就是涉及到服务器级别的更改,都应该及时备份master
        2:master数据库备份方法
      默认情况下,master数据库使用简单恢复模型,对于master数据库备份只需要使用完全
备份。
      完全备份方法很简单,不多描述。
       
  二:恢复master数据库基本思路
      如果master数据库损坏,SQL Server就不能启动,且在事件管理器中可以查看到相应的master数据库无法访问的日志信息。
      在这种情况下,就需要恢复master数据库。
   恢复master数据库的思路比较清晰,主要分为如下步骤:
         1:重建全新master数据库,以保证SQL Server服务器可以启动。
         2:启动SQL Server服务后,通过企业管理器或命令,将SQL Server服务器置于单用户模式
   3:在单用户模式下进行master数据库恢复
   4:恢复完成后,将SQL Server实例重新置于多用户模式。

 三:恢复master数据库具体演示
     1:利用工具重建master数据库
     该工具在安装SQL Server实例时已经安装到程序目录下。默认路径为:
     C:\Program Files\Microsoft SQL Server\80\Tools\Binn
        运行该工具,在弹出的重建master窗口中,设置好正确的参数信息:SQL Server服务器,排序规则
     以及SQL Server 2000安装文件中master文件所在路径。见下图:
            
rebuildm.png (30.72 KB)
2008-12-2 11:21

        注:重建过程会重建全部四个系统数据库以及两个示例数据库northwindpubs,
            接着对数据库服务器进行配置。
    重建完成后,通过服务管理器或企业管理器启动SQL Server服务器。
       需要注意的是:此时SQL Server数据库中只有dbo角相关的登录帐户,且sa帐户密码已经重置为空。
     同时所有的用户数据库都不可见。
     2:将SQL Server服务器置于单用户模式
        SQL Server服务器设置为单用户模式方法很简单:打开企业管理器,选择服务器右键单击,选择属性
    在属性配置窗口常规选项框单击启动参数,在启动参数中添加-m”参数。如下图:
            
启动参数.png (6 KB)
2008-12-2 11:21

     3:在单用户模式下进行master数据库恢复
    设置好单用户模式后,重新启动SQL Server实例,进入真正的master数据库还原。
    还原方式可以通过企业管理器进行还原
            
还原master.png (36.29 KB)
2008-12-2 11:21


    也可以通过查询分析器运行T-SQL命令执行还原:
              
T-SQL Restore.png (25.71 KB)
2008-12-2 11:21



    注:使用企业管理器进行还原时,还原成功后可能会出现一些连接错误提示。
      建议使用查询分析器来执行还原,可以避免出现错误提示。

  4:恢复完成后,将SQL Server实例重置于多用户模式
              恢复完成后,重新启动SQL Server实例,去除第2步设置的单用户模式参数 -m
     重新启动SQL Server实例,打开企业管理器,可以看到所有的用户数据库已经可见,
              且安全性相关登录帐户也已经恢复!
        注:
              在恢复master数据库时modelmsdb数据库也会被更建,
      所以master数据恢复完成后,应该立即还原modelmsdb数据库。

     四:其它系统数据库的恢复
         对于其它系统数据库,如model数据库和msdb数据库都是很重要的系统数据库。
sql2000数据库在哪个文件夹    model数据库作为所有新建的用户数据库和tempdb数据库的样板,任何新建数据库默认结构都与model数据库一样。
    Msdb数据库是SQLSERVER2000代理服务以及自动化作业使用的数据库。
         这两个数据库异常也会影响SQL Server服务器正常工作。
         特别是model数据库,是作为所有新建数据库的模板,如果model数据库损坏也会导
SQL Server服务不能启动,
         在这种情况下,也需要先重建master数据库,然后再依次恢复master,modelmsdb数据库,
  恢复操作与恢复master数据库操作相类似。
         稍有不同的是,msdb数据库损坏不会导致SQL Server服务无法启动,此时只需通过企业管理器进行恢复工作即可!