System.Data.SqlClient.SqlException:SQL Server 检测到基于一致性的逻辑 I/O 错误 ,校验和不正确(应该为: 0×2abe63co,但实际为: 0x2abe23co)。在文件 ‘E:\DB\***.mdf’ 中、偏移量为 0×000001629fa000的位置对数据库 ID 8中的页 (1:726269) 执行 读取 期间,发生了该错误。SQL Server 错误日志或系统事件日志中的其他消息可能提供了更详细信息。这是一个威胁数据库完整性的严重错误条件,必须立即纠正。请执行完整的数据库一致性检查(DBCC CHECKDB)。此错误可以由许多因素导致;有关详细信息,请参阅 SQL Server 联机丛书。 请问这是什么原因导致的 !如何处理这种情况!

解决方案 »

  1.   

    按提示来看看是什么问题DBCC CHECKDB
      

  2.   

    jslm的 DBCC 结果。
    Service Broker 消息 9675,状态 1: 已分析的消息类型: 14。
    Service Broker 消息 9676,状态 1: 已分析的服务约定: 6。
    Service Broker 消息 9667,状态 1: 已分析的服务: 3。
    Service Broker 消息 9668,状态 1: 已分析的服务队列: 3。
    Service Broker 消息 9669,状态 1: 已分析的会话端点: 0。
    Service Broker 消息 9674,状态 1: 已分析的会话组: 0。
    Service Broker 消息 9670,状态 1: 已分析的远程服务绑定: 0。
    Service Broker 消息 9605,状态 1: 已分析的会话优先级: 0。
    sys.sysrscols的 DBCC 结果。
    sys.sysallocunits的 DBCC 结果。
    对CHECKDB 在数据库 'jslm' 中发现 0 个分配错误和 0 个一致性错误。
    DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
      

  3.   

    新建查询,执行:
    use datanamego ALTER DATABASE dataname SET SINGLE_USER DBCC CHECKDB (dataname, repair_allow_data_loss) with NO_INFOMSGS go ALTER DATABASE dataname SET MULTI_USER go
    执行上面就行了,之前先停止所有程序对数据库的读写,执行完了就解决了
      

  4.   

    取消数据库选项中的checksum选项试试。 
      

  5.   

    不,懂;帮,顶;学,习;赚,分。
    虽然这么回贴可能会被删除。
    谁他妈的删除了就是个王八蛋。
    强烈抗议CSDN这种即当婊子又想立贞洁牌坊的恶劣行为!!!
    有本事,就封杀我!!!理由在这里:
    他妈的一帮管理员有神经病啊???
    http://topic.csdn.net/u/20110422/10/1a381057-7a7b-41d9-8969-ad1f5b77f24a.html?38665
    最好给出完整的表结构,测试数据,计算方法和正确结果.否则耽搁的是你宝贵的时间。
    如果有多表,表之间如何关联?
    如何更有效地在SQL Server论坛上提问
    http://topic.csdn.net/u/20100716/19/6f132f16-20e4-418c-8dee-b99d5f86d320.html?75910
    [code=SQL]
      

  6.   

    --先备份一下要修复的数据库,再执行下面的操作(此方法曾修复过2000的数据库)--把下面的数据库名blpsjxc_fzgt改成你自己的数据库名
    use master
    go
    exec sp_configure 'allow updates',1 RECONFIGURE WITH OVERRIDE
    go
    update sysdatabases set status=32768 where name='blpsjxc_fzgt'
    go
    DBCC REBUILD_LOG ('blpsjxc_fzgt','D:\Microsoft SQL Server\MSSQL\Data\blpsjxc_fzgt.LDF')
    go
    update sysdatabases set status=0 where name='blpsjxc_fzgt' 
    go
    restore database blpsjxc_fzgt WITH RECOVERY 
    go
    exec sp_configure 'allow updates',0 RECONFIGURE WITH OVERRIDE