SQL2000中master数据库备份与恢复.doc
在SQLServer2000数据库系统中,有多个系统数据库,如master,model,msdb,tempdb等。其中master数据库是最重要的数据库,存储的是SQLServer系统的所有系统级别信息,包括磁盘空间,文件分配和使用、系统级的配置参数。同时还记录了所有的登录帐户信息、初始化信息和其他数据库信息。一旦master数据库异常,会导致整个数据库系统都无法正常功能。由于master数据库的重要性,所以一般禁止用户直接访问,如果一定要修改,确保在修改前要做完整的数据备份。
一:备份master数据库
1:master数据库的备份场景:
在以下情况下,应该备份master数据库。
创立或删除用户数据库
添加/删除登录帐户或修改的数据库级别的角色,从而影响了整个数据库效劳器的平安性
更改了效劳器级别的配置选项或数据库配置选项
简单的说,也就是涉及到效劳器级别的更改,都应该及时备份master。
??????2:master数据库备份方法
默认情况下,master数据库使用简单恢复模型,对于master数据库备份只需要使用完全备份。
完全备份方法很简单,不多描述。
??二:恢复master数据库根本思路
????如果master数据库损坏,SQLServer就不能启动,且在事件管理器中可以查看到相应的master数据库无法访问的日志信息。
????在这种情况下,就需要恢复master数据库。
恢复master数据库的思路比拟清晰,主要分为如下步骤:
??????1:重建全新master数据库,以保证SQLServer效劳器可以启动。
??????2:启动SQLServer效劳后,通过企业管理器或命令,将SQLServer效劳器置于单用户模式
3:在单用户模式下进行master数据库恢复
4:恢复完成后,将SQLServer实例重新置于多用户模式。
三:恢复master数据库具体演示
????1:利用rebuildm.exe工具重建master数据库
??该工具在安装SQLServer实例时已经安装到程序目录下。默认路径为:
??C:\ProgramFiles\MicrosoftSQLServer\80\Tools\Binn
??????运行该工具,在弹出的重建master窗口中,设置好正确的参数信息:SQLServer效劳器,排序规那么
??以及SQLServer2000安装文件中master文件所在路径。见以下图:
????????
??????注:重建过程会重建全部四个系统数据库以及两个例如数据库northwind和pubs,
????????接着对数据库效劳器进行配置。
重建完成后,通过效劳管理器或企业管理器启动SQLServer效劳器。
????需要注意的是:此时SQLServer数据库中只有dbo角色相关的登录帐户,且sa帐户密码已经重置为空。
??同时所有的用户数据库都不可见。
????2:将SQLServer效劳器置于单用户模式
??????将SQLServer效劳器设置为单用户模式方法很简单:翻开企业管理器,选择效劳器右键单击,选择“属性”
在“属性配置”窗口“常规”选项框单击“启动参数”,在“启动参数”中添加“-m”参数。如以下图:
????????
????3:在单用户模式下进行master数据库恢复
设置好单用户模式后,重新启动SQLServer实例,进入真正的master数据库复原。
复原方式可以通过企业管理器进行复原
????????
也可以通过查询分析器运行T-SQL命令执行复原:
??????????
注:使用企业管理器进行复原时,复原成功后可能会出现一些连接错误提示。
建议使用查询分析器来执行复原,可以防止出现错误提示。
4:恢复完成后,将SQLServer实例重置于多用户模式
??????????恢复完成后,重新启动SQLServer实例,去除第2步设置的单用户模式参数-m。
??重新启动SQLServer实例,翻开企业管理器,可以看到所有的用户数据库已经可见,
??????????且平安性相关登录帐户也已经恢复!
??????注:
??????????在恢复master数据库时model和msdb数据库也会被更建,
??所以master数据恢复完成后,应该立即复原mode