• 修复SQL2000中损坏的表


    用Sql2000的数据库,其中有个表 barcode 估计损坏了

    在查询分析器执行 select * from barcode

    提示

    服务器: 消息 3624,级别 20,状态 1,行 1

    Location: recbase.cpp:1371
    Expression: m_nVars > 0
    SPID: 52
    Process ID: 776

    连接中断


    然后

    执行  dbcc checktable(lhstock)

    提示

    服务器: 消息 8928,级别 16,状态 1,行 1
    对象 ID 1237579447,索引 ID 0: 未能处理页 (1:13464)。详细信息请参阅其它错误。
    服务器: 消息 8944,级别 16,状态 1,行 1
    表错误: 对象 ID 1237579447,索引 ID 0,页 (1:13464),行 8。测试(ColumnOffsets <= (nextRec - pRec))失败。值为 16680 和 972。
    服务器: 消息 8964,级别 16,状态 1,行 1

    修复办法

    use master
    GO

    -- sp_dboption 用于显示或更改数据库选项。当为 single user 选项为 true 时,每次只能有一个用户访问数据库。

    sp_dboption 'lhstock','single user','true'                

    DBCC CHECKDB('lhstock',REPAIR_ALLOW_DATA_LOSS)

    sp_dboption 'lhStock','single user','false'

    'lhstock' 的 DBCC 结果。

    'Barcode' 的 DBCC 结果。
    对象 'Barcode' 有 326848 行,这些行位于 6896 页中。

    CHECKDB 发现了 0 个分配错误和 0 个一致性错误(在数据库 'lhStock' 中)。
    DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。


     

  • 相关阅读:
    [2010山东ACM省赛] Balloons(搜索)
    [2010山东ACM省赛] Greatest Number(数的组合+二分搜索)
    [ACM] hdu 1213 How Many Tables(并查集)
    C Shuffle Cards
    快速读入输出模板
    J Distance to Work
    E Sort String
    H Diff-prime Pairs
    A PACM Team
    区间 (interval)
  • 原文地址:https://www.cnblogs.com/eric1394/p/598150.html
Copyright © 2020-2023  润新知