如何恢复系统数据库? 
 
关于系统数据库的恢复总结如下: 在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)模式下进行a.进入单用户模式的方法: 
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.进行master数据库的恢复
a.直接进入查询分析器,有个提示不要理会它
输入恢复语句进行数据库恢复:
RESTORE DATABASE master from disk='c:\具体的备份文件名'b.或者用这个,在命令提示符下输入,注意大小写
使用"windows身份验证"的,输入:isql /E
使用"sql server和windows身份验证"的,输入:isql /U"用户名" /P"密码"
然后在出现的提示符下输入(注意1>,2>是提示符):
1>RESTORE DATABASE master from disk='c:\具体的备份文件名'
2>go

解决方案 »

  1.   

    2,如何把数据库设置到单用户状态?
    sp_dboption 'northwind','single user',true
      

  2.   

    谢谢了,我是想把正式库上security里的用户原封不动的复制到另一台测试服务器上,且用户数及其对应的各个数据库权限都一样,所以我想到的方法:1,覆盖data文件中的master.mdf文件,但这样就启动不了sql server了;2,强制restore master数据库,但好像master数据库的property里不能设置single user mode,不晓得是权限问题,还是其他??请问有什么好的解决办法?
      

  3.   

    restore master
    到一个普通数据库修改一些系统表记录如路径信息要符合新的服务器的环境
    sysdatabases
    sysaltfile
    sysfiles
    ....在单用户模式下启动 SQL Server
    sqlservr.exe -c -m -s {instancename}