我们有数据库Ms
DBCC CHECKDB (MS)或
ALTER DATABASE MS SET SINGLE_USER
DBCC CHECKDB(MS,REPAIR_ALLOW_DATA_LOSS)
ALTER DATABASE MS SET MULTI_USER错误消息
MSG0,级别11,状态0,行0: 当前命令发生严重错误。如果有任何结果,则应予以放弃。MSG0,级别20,状态0,行0: 当前命令发生严重错误。如果有任何结果,则应予以放弃。
在花了几个小时测试每个表之后,发现有问题的表"LC“。
DBCC CHECKTABLE(LC)错误消息
Msg 211,23级,状态51,第1行: 可能的架构损坏。运行DBCC CHECKCATALOG。
现在,
DBCC CHECKCATALOG消息
DBCC执行完成。如果DBCC打印错误消息,请与系统管理员联系。
我还试图查看索引。
SELECT * FROM sysindexes错误消息
Msg 211,23级,状态51,第1行: 可能的架构损坏。运行DBCC CHECKCATALOG。MSG0,级别20,状态0,行0: 当前命令发生严重错误。如果有任何结果,则应予以放弃。
再一次,
SELECT * FROM LC 或
DROP TABLE LC错误消息
Msg 211,23级,状态51,第1行: 可能的架构损坏。运行DBCC CHECKCATALOG。MSG0,级别20,状态0,行0: 当前命令发生严重错误。如果有任何结果,则应予以放弃。
我不介意那个特定表的数据丢失,我想要删除这个表。任何想法,请帮忙!
发布于 2010-10-03 14:25:06
您可以使用RESTORE,永远不要使用REPAIR_ALLOW_DATA_LOSS (这篇文章值得一读)!说真的,再多的DBCC伏都术也不会使你的数据库恢复到原始的工作状态。
发布于 2010-10-03 14:26:20
造成这些类型错误的最可能原因是磁盘驱动器故障。在继续故障排除之前,请使用赫特调或chkdsk /R测试硬盘。我还建议进行内存测试(有一个内置的名为Windows内存诊断的测试)。
一旦确定机器正常,就可以将所有好的表复制到一个新的数据库中。然后你可以删除旧的数据库。
https://dba.stackexchange.com/questions/11241
复制相似问题