为何无法利用备份恢复数据库?

bezant2003 2003-09-14 09:32:10
当我用备份恢复master数据库时,出现如下警告,“当试图改变master数据库时,必须以单用户模式使用RESTORE DATABASE。
RESTORE DATABASE 异常终止。“请问该怎么办?还有怎样才能改变服务器名?
...全文
68 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjcxc 元老 2003-09-15
  • 打赏
  • 举报
回复
如何恢复系统数据库?

关于系统数据库的恢复总结如下:
  在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 -sSingleUser,注意:必须是在命令行下进入单用户模式后启动 Query Analyzer执行语句:
RESTORE DATABASE master form disk='c:\(具体的备份文件名)

txlicenhe 2003-09-15
  • 打赏
  • 举报
回复
1: 楼主居然恢复master数据库?我没试过。
2: 单用户模式sp_dboption 'singleUser','true'
3: 重命名
分两步来做,先要数据库在单用户模式,sp_dboption 'singleUser','true'
接下来才能更名, sp_renamedb 'oldname','newname'
一般最好在查询分析器下做,要更名的数据库不要有任何活动连接才行
bezant2003 2003-09-15
  • 打赏
  • 举报
回复
怎样才能进入单用户模式?sp_renamedb只能修改数据库名,不能修改服务器名呀。
softrookie 2003-09-14
  • 打赏
  • 举报
回复
在单用户模式下启动数据库
从命令提示符输入:
sqlservr.exe -c - m -s {instancename}
重命名数据库
在单用户模式下:
sp_renamedb [ @dbname = ] 'old_name' ,[ @newname = ] 'new_name'

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧