在查询数据库中的一些表时,提示:服务器: 消息 5180,级别 22,状态 1,行 1
由于文件 ID 3(位于数据库 'McsA' 中)无效,所以未能打开 FCB。连接中断

解决方案 »

  1.   

    表名什么都没错的,现在是可以确定这个数据是有问题用DBCC CheckDB('McsA')进行检查,报错如下:(McsA为数据库名)服务器: 消息 7995,级别 16,状态 1,行 1
    数据库 'McsA' 在 sysobjects、sysindexes、syscolumns 或 systypes 中存在一致性错误,妨碍了进一步的 CHECKDB 处理。
    DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
      

  2.   

    DBCC CHECKTABLE ('sysobjects')
    GO
    .....
      

  3.   

    DBCC   CHECKTABLE   ( 'sysobjects ') 这句执行是没错误的,但是
    DBCC CHECKTABLE (syscolumns )时,就有错误了服务器: 消息 7965,级别 16,状态 2,行 1
    表错误: 由于无效的分配 (IAM) 页,未能检查对象 ID 3,索引 ID 1。
    服务器: 消息 8968,级别 16,状态 1,行 1
    表错误: IAM 页 (1:396207)(对象 ID 3,索引 ID 1)超出了此数据库的范围。
    'syscolumns' 的 DBCC 结果。
    对象 'syscolumns' 有 0 行,这些行位于 0 页中。
    CHECKTABLE 发现了 0 个分配错误和 2 个一致性错误(在表 'syscolumns' 中,该表的对象 ID 为 3)。
    repair_allow_data_loss 是最低的修复级别(对于由 DBCC CHECKTABLE (McsA.dbo.syscolumns ) 发现的错误而言)。