none
SQLServer2000备份还原问题 RRS feed

  • 问题

  • 各位大虾,偶请教个问题,这个问题困扰我很久了..
    是这样的
    我在SQLServer中首先全备份数据库,提示成功。
    然后过了1小时左右,我进行该数据库的差异备份,也提示成功。
    最后又过了1个小时,我进行了该数据库的事务日志备份,当然也提示成功 (注意,备份都是通过企业管理器来操作的)

    经过这3被备份过程,获得这个数据库的3个备份文件。
    分别是:
    Clusterdb_full.bak
    Clusterdb_diff.bak
    Clusterdb_log.TRN

    然后我在另一台服务器上进行还原,
    第一步还原数据库全备份成功,使用语句:
    use master
    go
    restore database Clusterdb from D='D:\Softwares\Clusterdb\Clusterdb_full.bak' with norecovery;
    go

    第二步,还原差异备份,结果失败了,使用语句如下:
    restore database Clusterdb from D='D:\Softwares\Clusterdb\Clusterdb_diff.bak' with norecovery;
    go
    报错如下:
    服务器: 消息 3136,级别 16,状态 1,行 1
    无法将设备 'D:\SoftWares\Clusterdb\Clusterdb_diff.bak' 上的备份应用于数据库 'Clusterdb'。
    服务器: 消息 3013,级别 16,状态 1,行 1
    RESTORE DATABASE 操作异常终止。

    第三步,还原日志备份,使用语句:
    restore log Clusterdb from disk='D:\SoftWares\Clusterdb\Clusterdb_log.trn' with recovery;
    go

    报错如下:
    服务器: 消息 4305,级别 16,状态 1,行 1
    此备份集中的日志开始于 LSN 3643000000041300001,该 LSN 太晚,无法应用到数据库。包含 LSN 3643000000039800001 的较早的日志备份可以还原。
    服务器: 消息 3013,级别 16,状态 1,行 1
    RESTORE LOG 操作异常终止。


    说明:
    1.在新服务器上相关目录都已经建好了,而且第一步全备份恢复也成功了
    2.在全备份后,没有对源服务器上的数据库做任何操作。

    非常感谢!

    2009年11月27日 8:43

答案

  • --完整
    RESTORE DATABASE [Test] FROM  DISK = N'F:\TestDB\Test1.bak' WITH  FILE = 1,  NORECOVERY,  NOUNLOAD,REPLACE,  STATS = 10
    GO
    --差異
    RESTORE DATABASE [Test] FROM  DISK = N'F:\TestDB\Test2.bak' WITH  FILE = 1,  NORECOVERY,  NOUNLOAD,  STATS = 10
    GO
    --日誌
    RESTORE LOG [Test] FROM  DISK = N'F:\TestDB\Test3.bak' WITH  FILE = 1,  NOUNLOAD,  STATS = 10
    GO
    
    
    以上以Test數據庫為例

    ROY WU(吳熹)
    2009年11月27日 8:58
    版主

全部回复

  • --完整
    RESTORE DATABASE [Test] FROM  DISK = N'F:\TestDB\Test1.bak' WITH  FILE = 1,  NORECOVERY,  NOUNLOAD,REPLACE,  STATS = 10
    GO
    --差異
    RESTORE DATABASE [Test] FROM  DISK = N'F:\TestDB\Test2.bak' WITH  FILE = 1,  NORECOVERY,  NOUNLOAD,  STATS = 10
    GO
    --日誌
    RESTORE LOG [Test] FROM  DISK = N'F:\TestDB\Test3.bak' WITH  FILE = 1,  NOUNLOAD,  STATS = 10
    GO
    
    
    以上以Test數據庫為例

    ROY WU(吳熹)
    2009年11月27日 8:58
    版主
  • 楼主在Clusterdb_full.bak上是不是之前也做过全库备份? 用RESTORE FILELISTONLY 看一下这个文件,估计楼主还原的不是最近做的这个全库备份。试试看

    2009年12月4日 2:43