来源(久久网络-网络学堂-网络编程)

From: http://www.99net.net/study/system/64.htm



--------------------------------------------------------------------------------
2003-4-10 13:43:29 netmaster

关于系统数据库的恢复总结如下:

在SQL Server数据库中,系统信息存储在系统数据库中,主要的系统数据库包括:

master-从整体上控制用户数据库和SQL Server操作,在创建了任何用户定义的对象后,都要备份它

model-为新数据库提供模版和原型

msdb-包含了有关作业、报警及操作员等信息如果包含系统数据库的介质变了,那么必须重建系统数据库,如果你仍然可以启动SQL Server服务,则可以通过RESTORE语句从系统数据库的备份中恢复数据库。

如果master坏了,不能启动系统,可以按照下面步骤进行恢复

1 重建系统数据库 运行c:\mssql7\binn\rebuildm.exe,按照提示进行即可,过程中需要系统数据库样本的路径,可在安装光盘中找到;

2 重建系统数据库后,启动SQL Server服务,用系统数据库的备份恢复数据库就行了通常恢复顺序为master->msdb->model

在恢复master的备份时要注意:必须在single user模式下进行,有以下几种方法进入单用户模式:

1 可以在命令行模式下输入sqlservr -c -f -m或者输入sqlservr -m 其中:-c 可以缩短启动时间,SQL Server 不作为Windows NT的服务启动 -f 用最小配置启动SQL Server -m 单用户模式启动SQL Server

2 可以在控制面板-服务-MSSQLServer的启动参数中输入-c -f -m或者输入-m,点击开始

3 还有一种更灵活的启动方法:用存在注册表里的启动参数启动 在MSSQLServer项下添加项SingleUser,具体内容如下所示:
HKEY_LOCAL_MACHINE \Software \Microsoft \MSSQLServer \SingleUser \Parameters
SQLArg0 :
REG_SZ : -dC:\MSSQL7\DATA\MASTER.DAT
SQLArg1 :
REG_SZ : -eC:\MSSQL7\LOG\ERRORLOG
SQLArg2 :
REG_SZ : -lC:\MSSQL7\DATA\MASTLOG.DAT
SQLArg3 :
REG_SZ : -m在命令行下输入SQLServr -c -s

SingleUser,注意:必须是在命令行下进入单用户模式后启动 Query Analyzer执行语句:RESTORE DATABASE master form disk=c:\(具体的备份文件名)

Link: http://www.asm32.net/article_details.aspx?id=833