为什么会出现一致性错误?怎么彻底解决?在线等。。。。。。。。。。。。
时间:2011-11-29
来源:互联网
SQL code
DBCC CHECKTABLE ('dbo.misstock_bak',REPAIR_FAST)
但有时候必须用
SQL code
ALTER DATABASE mydb SET SINGLE_USER WITH ROLLBACK IMMEDIATE; DBCC CHECKTABLE ('dbo.misstock_bak',REPAIR_allow_data_loss) ALTER DATABASE mydb SET MULTI_USER;
这是为什么?有人说这是索引问题,但是我删除了所有索引还是有错误,只能运行上述代码(第二段,REPAIR_allow_data_loss)
-------------------------
错误记录如下,请各位大神帮忙解释下为何老是出现呢?在线等。。。。。。。。。。。。
正在回滚不合法事务。估计回滚已完成: 100%。
misStock_bak的 DBCC 结果。
修复: 页 (1:45103) 已从对象 ID 77243330,索引 ID 0,分区 ID 72057594040156160,分配单元 ID 5062218874880 (类型为 In-row data)释放。
Msg 8928, Level 16, State 1, Line 6
对象 ID 77243330,索引 ID 0,分区 ID 72057594040156160,分配单元 ID 5062218874880 (类型为 In-row data): 无法处理页 (1:45103)。有关详细信息,请参阅其他错误消息。
该错误已修复。
Msg 8944, Level 16, State 18, Line 6
表错误: 对象 ID 77243330,索引 ID 0,分区 ID 72057594040156160,分配单元 ID 286537195585536 (类型为 In-row data),页 (1:45103),行 8。测试(columnOffsets->offTbl [varColumnNumber] >= priorOffset)失败。值为 0 和 126。
该错误已修复。
Msg 8944, Level 16, State 18, Line 6
表错误: 对象 ID 77243330,索引 ID 0,分区 ID 72057594040156160,分配单元 ID 286537195585536 (类型为 In-row data),页 (1:45103),行 8。测试(columnOffsets->offTbl [varColumnNumber] >= priorOffset)失败。值为 0 和 126。
该错误已修复。
对象 'misStock_bak' 的 23387 页中有 718123 行。
CHECKTABLE 在表 'misStock_bak' (对象 ID 77243330)中发现 0 个分配错误和 3 个一致性错误。
CHECKTABLE 在表 'misStock_bak' (对象 ID 77243330)中修复了 0 个分配错误和 3 个一致性错误。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
作者: exkaede 发布时间: 2011-11-29
這表能不能打開?
建議重建這個表
作者: roy_88 发布时间: 2011-11-29
用语句修复:检测到基于一致性的逻辑 I/O 错误
use master
declare @databasename varchar(255)
set @databasename='需要修复的数据库实体的名称'
exec sp_dboption @databasename, N'single', N'true' --将目标数据库置为单用户状态
dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)
dbcc checkdb(@databasename,REPAIR_REBUILD)
exec sp_dboption @databasename, N'single', N'false'--将目标数据库置为多用户状态
作者: dawugui 发布时间: 2011-11-29
REPAIR_ALLOW_DATA_LOSS--這都修復不了
這表能不能打開?
建議重建這個表
我说的是REPAIR_ALLOW_DATA_LOSS有用,fast没用,但是我怕我丢失数据(但我不清楚现在是否已经有数据丢失了)
作者: exkaede 发布时间: 2011-11-29
引用 1 楼 roy_88 的回复:
REPAIR_ALLOW_DATA_LOSS--這都修復不了
這表能不能打開?
建議重建這個表
我说的是REPAIR_ALLOW_DATA_LOSS有用,fast没用,但是我怕我丢失数据(但我不清楚现在是否已经有数据丢失了)
是可能會造成某些資料的遺失。這是不一定的,只有通過查看數據的記錄數
作者: roy_88 发布时间: 2011-11-29
如无法删除表,那就要新建一个数据库,将所有对象及能导的数据导过去,重命名数据库...
作者: jyh070207 发布时间: 2011-11-29
作者: jyh070207 发布时间: 2011-11-29
作者: szstephenzhou 发布时间: 2011-11-29
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28