1813
http://support.microsoft.com/default.aspx?scid=kb;en-us;2712239004
http://support.microsoft.com/default.aspx?scid=kb;en-us;328354

解决方案 »

  1.   

    建同名数据库,分离-copy旧的.mdf文件-附加(ldf文件不管了,就用新的)。试试
      

  2.   

    步骤1:创建一个新的数据库,命名为原来数据库的名字.步骤2:停止SQL Server步骤3:把老数据库的MDF文件替换新数据库的相应的MDF文件, 并把LDF文件删除步骤4:重新启动SQL Server 服务,然后运行如下命令:Use MasterGosp_configure 'allow updates', 1reconfigure with overrideGobegin tranupdate sysdatabases set status = 32768 where name = 'db_name'-- Verify one row is updated before committingcommit tran步骤5:停止SQL然后重新启动SQL Server 服务,然后运行如下命令:DBCC TRACEON (3604)DBCC REBUILD_LOG('db_name','c:\mssql7\data\dbxxx_3.LDF')Go步骤6:停止SQL然后重新启动SQL Server 服务,然后运行:use masterupdate sysdatabases set status = 8 where name = 'db_name'Gosp_configure 'allow updates', 0reconfigure with overrideGo步骤7:运行dbcc checkdb(db_name)检查数据库的完整性.*******************************************************上面的一定没问题!这是我们公司找微软要出来的解决方案!
      

  3.   

    我使用过的办法
       恢复了一个3个月以前的数据库备份,但是数据文件的名称不一致:恢复完的数据文件:xxx.mdf
    而现在的数据文件是xx_data.mdf。但是不能用
      

  4.   

    然后按下面的步骤处理:1.新建一个同名的数据库2.再停掉sql server(注意不要分离数据库)3.用原数据库的数据文件覆盖掉这个新建的数据库4.再重启sql server5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用
    数据库的脚本创建一个新的数据库,并将数据导进去就行了.USE MASTER
    GOSP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
    GOUPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='置疑的数据库名'
    Gosp_dboption '置疑的数据库名', 'single user', 'true'
    GoDBCC CHECKDB('置疑的数据库名') 
    Goupdate sysdatabases set status =28 where name='置疑的数据库名'
    Gosp_configure 'allow updates', 0 reconfigure with override
    Go sp_dboption '置疑的数据库名', 'single user', 'false'
    Go
      

  5.   

    TO:ycheng(飞狼) 
    谢谢你,我试一下,解决了问题再加100分
      

  6.   

    问题解决了,但是有个问题,dbcc checkdb(db_name)还是有问题现在是还有三张表不能使用,在做查询时出现一下错误:服务器: 消息 8908,级别 22,状态 6,行 1
    表错误: 数据库 ID 14,对象 ID 1326627769,索引 ID 0。链的链接不匹配。(1:27736)->next = (1:9864),但 (1:9864)->prev = (1:29247)。连接中断请问还有办法解决吗?