-
SQl
数据库状态为置疑
,
只读
脱机
紧急模式时的解决办法
SQl
p>
数据库状态为置疑
,
只读
< br>
脱机
紧急模式时的解决办法
p>
2010-05-08 18:44
这是
S
QL2000
常遇到的错误,
楼
主按照
以下方法修复,修复完,检查一下数据库是否已完全修复,没完全修复时最低都可导出数据,要用
数据库生成一个空库脚本,把修复数据库的数据用
DTS
导入到新库。
。
。
A
.建立一个供恢复使用的数据库
<
/p>
我们使用默认方式建立一个供恢复使用的数据库
(
如
iBusinessWork)
。可以在
SQL Server Enterprise Manager
里面建立。
B
.停掉数据库服务器。
C
.调整数据库与日志文件
.
将刚才生成的数据库的日志文件
iBusinessWork_
删除,
用要恢复的数据库
mdf
文件覆盖刚才生成的数
据库数据文件
iBusine
ssWork_
。
D
.启动数据库服务器。
此时会看到数据库
iBusinessWork
的
状态为“置疑”
。这时候不能对此数据库进行任何操作。
E
.设置数据库允许直接操作系统表。
use master
go
sp_configure 'allow updates',1
go
reconfigure with override
go
F
.设置
iBusinessWork
为紧急修复模式
< br>
update
sysdatabases set status=-32768 where
dbid=DB_ID('iBusinessWork')
关闭打开企业管理器,此时可以在
SQL Server
Enterprise Manager
里面看到该数据库处于“只读
< br>
置疑
脱机
紧急模式”可以看到数据库里面的表,但是仅仅有系统表
G
p>
.下面执行真正的恢复操作,重建数据库日志文件
dbcc
rebuild_log('iBusinessWork','E:Microsoft SQL
ServerDataiBusinessWork_')
执行过程中,如果遇到下列提示信息:
服务器
:
消息
5030
,级别
16
,状态
1
,行
1
未能排它地锁定数据库以执行该操作。
DBCC
执行完毕。如果
DBCC
输出了错误信息,请与系统管理员联系。
说明您的其他程序正在使用该数据库,如果刚才您在
F
步骤中使用
SQL
Server
Enterprise
Manager
打开了
iBusinessWork
库的系统表,那么退出
SQL Server Enterprise
Manager
就可以了。
(
关闭企业
管理器,如果别
的机器从网络访问数据库,也把网络关闭
)
正确执行完成的提示应该类似于: