最近发现我的数据库不能还原,还原时老是报错:服务器: 消息 3241,级别 16,状态 37,行 1
设备 'e:\lg_db_200704090100.BAK' 上的媒体家族的结构不正确。SQL Server 无法处理此媒体家族。
服务器: 消息 3013,级别 16,状态 1,行 1
RESTORE DATABASE 操作异常终止。我的还原语句是:
RESTORE   DATABASE   lg     
FROM   DISK   =   'e:\lg_db_200704090100.BAK'   
        WITH   MOVE   'lg_data'   TO   'G:\testBackup\lg_data.mdf',
               MOVE   'lg_data2'   TO   'G:\testBackup\lg_data2_data.ndf',
   
               MOVE   'lg_log'   TO   'G:\testBackup\lg_log.ldf',
               MOVE   'lg_log2'   TO   'G:\testBackup\lg_log2_log.ldf'谢谢了,高手们

解决方案 »

  1.   

    当您执行备份或还原操作和事务日志是大于4GB LogMgr::ValidateBackedupBlock 方法计算偏移量物理文件中日志块时可能导致以下错误:
    错误 3241 16 严重状态 1
    设备 ' % ls ' 上的媒体家族的结构不正确, SQLServer 无法处理此媒体家族。看看是不是日志文件的问题
      

  2.   

    試試這個方法
    vivianfdlpw    信誉: 100 2005-10-24 16:28:29 得分:  20 
     用format选项重新备份数据库然后还原:backup database 数据库名 to disk='文件路径' with format 
      

  3.   

    參考http://www.51log.net/dev/5701/4346881.htm用format选项重新备份数据库然后还原:backup database 数据库名 to disk='文件路径' with format或者
    http://www.99ydy.com/html/20050308/15/3834232.html
      

  4.   

    我改写了还原代码:
    RESTORE DATABASE lg
     FROM DISK = 'E:\lg_db_200704140100.BAK'
     WITH RECOVERY,
      MOVE 'lg_Data' TO 'G:\testBackup\lg_Data.MDF',
      MOVE 'lg_Data2' TO 'G:\testBackup\lg_Data2_Data.NDF'
     
    RESTORE LOG lg
     FROM DISK = 'E:\lg_db_200704140100.BAK'
     WITH RECOVERY,
      MOVE 'lg_Log' TO 'G:\testBackup\lg_log.LDF',
      MOVE 'lg_Log2' TO 'G:\testBackup\lg_log2_Log.LDF'能还原成功,但是还是报了log文件还原错误,不知道是怎么回事?