网站链接1:百家樂百家百家百家百家百家百家百家百家百家百家开户博彩网博彩网博彩网博彩通全讯网

顺风网 » SQL Server 检测到基于一致性的逻辑 I/O 错误 页撕裂
首页 > 数据库 > SQL Server 检测到基于一致性的逻辑 I/O 错误 页撕裂

SQL Server 检测到基于一致性的逻辑 I/O 错误 页撕裂

2010年4月3日 admin

真的不可能了吗?

客户数据库文件损坏,mdf文件和ldf文件不匹配,无法附加数据库,运行alter database dbname set emergency,将数据库设置为紧急模式,然后执行exec sp_dboption dbname, N’single’, N’true’ ,将数据库置为单用户状态 ,执行dbcc checkdb(dbname,REPAIR_ALLOW_DATA_LOSS) ,出现如下错误:

消息 8921,级别 16,状态 1,第 1 行
检查已终止。收集事实数据时检测到错误。可能是 tempdb 空间用尽或某个系统表不一致。请检查前面的错误消息。
消息 824,级别 24,状态 2,第 1 行
SQL Server 检测到基于一致性的逻辑 I/O 错误 页撕裂(签名应该为: 0×55555555,但实际为: 0xaaaaa555)。在文件 ‘E:\DB\***.mdf’ 中、偏移量为 0×00000000150000 的位置对数据库 ID 24 中的页 (1:168) 执行 读取 期间,发生了该错误。SQL Server 错误日志或系统事件日志中的其他消息可能提供了更详细信息。这是一个威胁数据库完整性的严重错误条件,必须立即纠正。请执行完整的数据库一致性检查(DBCC CHECKDB)。此错误可以由许多因素导致;有关详细信息,请参阅 SQL Server 联机丛书。

我想用sqlserver2005的导出功能,将几个表里的数据导出,发现出现错误:无法检索源数据和目标数据的列信息,或者源列的数据类型未正确地映射到目标提供程序上可用的数据类型。

出现网上搜索了一下,没有好的解决方法,在csdn上有人这样回答:

“1.这个错误可能预示着,MDF文件之前所在环境存在硬件问题。
2.因为损坏的是PFS页(数据文件的第1页是PFS页),就注定了这个错误通过DBCC CHECKDB是无法修复的。
并且数据在紧急模式下数据也很可能是无法select出来,也就是说你连将数据导出的机会都没有。
3.一般来说紧急模式下无法修复的错误,基本上就可以宣告通过正常途径修复的努力都将无效。如果
数据很重要,你要可以联系MS或是专业的数据修复机构,也许可以挽回一些损失。
4.如果PFS页的数据是正确的,只是页头中TORN PAGE的信息不对,也许可以通过直接修改mdf物理文件的方式来解决。可以用UltraEdit打开MDF文件,根据错误信息提示的偏移量找到相应的页的位置,然后在页中再找到相应的偏移量(torn page的偏移量),修改数据。”

至此本人以为不可能解决了。第二天,本人终于化不可能为可能了,虽然方法有点繁琐,但还是抢救了大量重要数据。

以下内容请到 http://www.ownfine.cn/?p=80 查看

2009-06-16 00:54

分类: 数据库 标签:
本文的评论功能被关闭了.

苏公网安备 32020202000090号

苏ICP备16040328号     点击这里给我发消息站长



普人特福的博客cnzz&51la for wordpress,cnzz for wordpress,51la for wordpress