用 dbcc checkdb 检测的结果't_GroupAccessType' 的 DBCC 结果。
对象 't_GroupAccessType' 有 31 行,这些行位于 1 页中。
服务器: 消息 8935,级别 16,状态 1,行 1
表错误: 对象 ID 1205579333,索引 ID 1。上一页链接 (1:16929)(位于页 (1:21320) 上)与父代所预期的此页的上一页 (1:57352) 不匹配。(父代 (1:458),槽 14。)
服务器: 消息 8936,级别 16,状态 1,行 1
表错误: 对象 ID 1205579333,索引 ID 1。B 树链的链接不匹配。(1:57352)->next = (1:21320),但 (1:21320)->Prev = (1:16929)。
服务器: 消息 8978,级别 16,状态 1,行 1
表错误: 对象 ID 1205579333,索引 ID 1。页 (1:57352) 缺少上一页 (1:16929) 对它的引用。可能是因为链的链接有问题。办法想完了就是没有办法修改,数据库没有办法重建,里面是有数据的。望高人指点!

解决方案 »

  1.   

    没贴全最后应该由建议的修复级别先执行
    dbcc checkdb('dbname',建议的级别)
    试下修复
      

  2.   

    'ICSaleQCBill' 的 DBCC 结果。
    对象 'ICSaleQCBill' 有 0 行,这些行位于 0 页中。
    CHECKDB 发现了 0 个分配错误和 3 个一致性错误(在数据库 'AIS20110418144905' 中)。
    repair_rebuild 是最低的修复级别(对于由 DBCC CHECKDB (AIS20110418144905 ) 发现的错误而言)。
    DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
    这是后面的,没有提示用什么啊
      

  3.   

    预计是索引树(B-tree)破坏了,简单一点,备份后用语句重新导入数据.
      

  4.   

    repair_rebuild 是最低的修复级别
    不是已经提示了吗?
      

  5.   

    use master;
    go
    declare @spid varchar(8000);
    set @spid='';select @spid=@spid+'kill '+rtrim(spid)+char(13)+char(10)+';'
    from master.dbo.sysprocesses
    where dbid=db_id('AIS20110418144905');exec (@spid);exec sp_dboption 'AIS20110418144905','single user','true';
    dbcc checkdb('AIS20110418144905','repair_rebuild');exec sp_dboption 'AIS20110418144905','single user','false';
      

  6.   

    重建表t_GroupAccessType的聚集索引。
      

  7.   

    dbcc checktable('表名',repair_rebuild)
      

  8.   

    dbcc checkdb(dbname,REPAIR_ALLOW_DATA_LOSS)