none
sql server 2005 数据一致性错误,求解 RRS feed

  • 问题

  • PLAT_UserFlow的 DBCC 结果。
    消息 8928,级别 16,状态 1,第 2 行
    对象 ID 888494344,索引 ID 0,分区 ID 72057595015200768,分配单元 ID 72057595052818432 (类型为 In-row data): 无法处理页 (1:1970713)。有关详细信息,请参阅其他错误消息。
    消息 8944,级别 16,状态 17,第 2 行
    表错误: 对象 ID 888494344,索引 ID 0,分区 ID 72057595015200768,分配单元 ID 72057595052818432 (类型为 In-row data),页 (1:1970713),行 42。测试(columnOffsets->offTbl [varColumnNumber] <= (nextRec - pRec))失败。值为 12587 和 119。

    都有哪些原因造成数据的不一致?


    2013年9月5日 10:00

答案

  • Run 'dbcc updateusgae' and rebuild all indices on those tables,  then run 'dbcc checkdb' again.
    2013年9月5日 13:14
  • 数据一致性错误有很多种原因可以引起的:

    例如:I/O 子系统中存在问题,例如磁盘驱动器存在故障、磁盘固件存在问题、设备驱动程序不正确

    也有一些与硬件无关的

    解决方法不外乎就是

    -- 应用数据库修复举例 修复数据库DBCC CHECKDB
    declare @databasename varchar(255)
    set @databasename='gposdb'------一定要手工输入
    ---------执行一般性修复还存在问题时,进行允许数据丢失的修复 要求在单用户下进行,此时请退出中间层,客户端,sql的其他模块,所有功能退出,在查询分析器master里设置数据库为单用户
    
    exec sp_dboption @databasename, N'single', N'true'
    
    -----在查询分析器master里,进行修复数据库
    先执行
    dbcc checkdb(@databasename,REPAIR_REBUILD)
    检查一些还有没有错误,如果有
    执行下面这句,下面这句有可能数据丢失
    dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)
    
    ------还原数据库状态
    exec sp_dboption @databasename, N'single', N'false'

    2013年9月9日 6:30

全部回复

  • Run 'dbcc updateusgae' and rebuild all indices on those tables,  then run 'dbcc checkdb' again.
    2013年9月5日 13:14
  • 数据一致性错误有很多种原因可以引起的:

    例如:I/O 子系统中存在问题,例如磁盘驱动器存在故障、磁盘固件存在问题、设备驱动程序不正确

    也有一些与硬件无关的

    解决方法不外乎就是

    -- 应用数据库修复举例 修复数据库DBCC CHECKDB
    declare @databasename varchar(255)
    set @databasename='gposdb'------一定要手工输入
    ---------执行一般性修复还存在问题时,进行允许数据丢失的修复 要求在单用户下进行,此时请退出中间层,客户端,sql的其他模块,所有功能退出,在查询分析器master里设置数据库为单用户
    
    exec sp_dboption @databasename, N'single', N'true'
    
    -----在查询分析器master里,进行修复数据库
    先执行
    dbcc checkdb(@databasename,REPAIR_REBUILD)
    检查一些还有没有错误,如果有
    执行下面这句,下面这句有可能数据丢失
    dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)
    
    ------还原数据库状态
    exec sp_dboption @databasename, N'single', N'false'

    2013年9月9日 6:30