首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Server 2008 DBCC问题

Server 2008 DBCC问题
EN

Database Administration用户
提问于 2010-10-03 14:19:29
回答 2查看 10.7K关注 0票数 5

我们有数据库Ms

代码语言:javascript
复制
DBCC CHECKDB (MS)

代码语言:javascript
复制
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“。

代码语言:javascript
复制
DBCC CHECKTABLE(LC)

错误消息

Msg 211,23级,状态51,第1行: 可能的架构损坏。运行DBCC CHECKCATALOG。

现在,

代码语言:javascript
复制
DBCC CHECKCATALOG

消息

DBCC执行完成。如果DBCC打印错误消息,请与系统管理员联系。

我还试图查看索引。

代码语言:javascript
复制
SELECT * FROM sysindexes

错误消息

Msg 211,23级,状态51,第1行: 可能的架构损坏。运行DBCC CHECKCATALOG。MSG0,级别20,状态0,行0: 当前命令发生严重错误。如果有任何结果,则应予以放弃。

再一次,

代码语言:javascript
复制
SELECT * FROM LC 

代码语言:javascript
复制
DROP TABLE LC

错误消息

Msg 211,23级,状态51,第1行: 可能的架构损坏。运行DBCC CHECKCATALOG。MSG0,级别20,状态0,行0: 当前命令发生严重错误。如果有任何结果,则应予以放弃。

我不介意那个特定表的数据丢失,我想要删除这个表。任何想法,请帮忙!

EN

回答 2

Database Administration用户

回答已采纳

发布于 2010-10-03 14:25:06

您可以使用RESTORE,永远不要使用REPAIR_ALLOW_DATA_LOSS (这篇文章值得一读)!说真的,再多的DBCC伏都术也不会使你的数据库恢复到原始的工作状态。

票数 8
EN

Database Administration用户

发布于 2010-10-03 14:26:20

造成这些类型错误的最可能原因是磁盘驱动器故障。在继续故障排除之前,请使用赫特调chkdsk /R测试硬盘。我还建议进行内存测试(有一个内置的名为Windows内存诊断的测试)。

一旦确定机器正常,就可以将所有好的表复制到一个新的数据库中。然后你可以删除旧的数据库。

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/11241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档