从错误提示来看,应该是你的数据库有问题,你用下面的语句检查一下你的数据库(注意修改库名)dbcc checkdb('你的库名')

解决方案 »

  1.   

    可能该数据库被置疑了吧?
    解决:.新建一个同名的数据库2.再停掉sql server3.用suspect数据库的文件覆盖掉这个新建的同名数据库4.再重启sql server5.此时打开企业管理器时新建的同名数据库会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)
    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', 'true'
    Go6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用
    数据库的脚本创建一个新的数据库,并将数据导进去就行了.
      

  2.   


    转贴:
    问题:
    Sql2000数据的附加时出错:错误 3624
    location:recovery.c:1996
    express:curr->lon_length>0
    spdi:51
    process id:768
    最后提示附加失败服务器: 消息 5105,级别 16,状态 4,行 1
    设备激活错误。物理文件名 'f:\database\fdzz1204_Data.ldf' 可能有误。解决:
    新建一同名数据库(文件名,文件组都和原来的一样),然后停止数据库服务,用原来文件替换新建的数据库文件,启动数据库,该数据库被设未suspect然后把数据库改成紧急模式:
    sp_configure 'allow', 1
    reconfigure with override
    update sysdatabases set status = 32768 where name = '数据库名'把LDF文件改名,再执行
    DBCC REBUILD_LOG ('数据库名', 'E:\fdzz\database\fdzz1204_Log.LDF' )恢复数据库紧急模式
    update sysdatabases set status = 0 where name = '数据库名'
    执行
    restore database 数据库名 WITH RECOVERY
    sp_configure 'allow', 0
    reconfigure with override然后用DBCC CHECKDB ('数据库名')看看有没有错误如果上面还是不行,试试吧数据库设为紧急模式,应该可以看到数据了,在把数据导出到一个新的数据库