日期:2014-05-17  浏览次数:20436 次

sql数据库修复问题

USE MASTER
GO
sp_dboption 'ydyjjl', 'single user', 'true'

执行这个提示命令已完成
接着执行

DBCC CHECKDB(ydyjjl, REPAIR_ALLOW_DATA_LOSS)

提示
服务器: 消息 7919,级别 16,状态 2,行 1
未处理修复语句。数据库需要处于单用户模式下。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。

用企业管理器看

显示为单用户
就是执行修复语句的时候报错

------解决方案--------------------
你的数据库出了什么问题,需要修复什么?
------解决方案--------------------
你前面的应该没成功,否则在单用户模式下可以执行修复语句的。
------解决方案--------------------
先备份数据库,参考下面的链接:
http://bbs.csdn.net/topics/80308741
------解决方案--------------------
数据库置疑的恢复
 
USE MASTER
 GO
 
SP_CONFIGURE 'ALLOW UPDATES',1 
 RECONFIGURE WITH OVERRIDE
 GO
 
UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='ABCD'
 Go
 
sp_dboption 'ABCD', 'single user', 'true'
 Go
 
DBCC CHECKDB('ABCD') 
 Go
 
update sysdatabases set status =28 where name='ABCD'
 Go
 
sp_configure 'allow updates', 0 
 
reconfigure with override
 Go 
 
sp_dboption 'ABCD', 'single user', 'false'
 Go
 
ABCD  是你的数据库 
------解决方案--------------------
你要两句都在一个页面执行才行。可以保持页面,然后关闭agent,再重启服务,在不让任何人和进程访问sqlserver时执行dbcc checkdb,再在同一个界面执行恢复多用户的语句
------解决方案--------------------
这个问题没有碰到过