正在还原每日差异备份 - 没有文件准备好前滚问题



我使用SQL Server。我的差异备份有问题。我在周末对数据库进行完整备份,除此之外,我还每天对数据库进行差异备份。我创建了一个作业,可以使这些自动备份任务。在拿了那些完整和不同的烤杯后,我每天和每周都用工作来恢复它们。我的完整还原作业任务每周都能成功运行,但是当我的另一个任务(即还原每日差异备份)尝试工作时,它失败并显示" 日志或差异备份无法还原,因为没有文件准备好前滚。

我有两个数据库服务器。其中一个是生产服务器,另一个是报表服务器。报表服务器在生产数据库服务器中包含相同的数据库。在每个周末,我都会在生产数据库服务器中为报表服务器完全备份数据库。同样,每个午夜,我还对报表服务器生产服务器中的数据库进行差异备份。第二天,我将最后一个差异还原到报表服务器中的数据库。我为该过程使用可视化 cron 工具,但它因该错误而失败。我尝试恢复手动,但收到相同的错误消息。

这是我的恢复命令。

EXEC [dbo].[DatabaseRestoreMany] 
@Databases = 'DB_2004',
@BackupRoot = '\BCKPSRVRBKUP',
@BackupTypes = 'DIFF',
@DataFileDirectory = 'D:DBFILESDB_2004',
@LogFileDirectory = 'D:DBFILESDB_2004',
@DirectoryPerDatabase = 'Y',
@RecoveryState = 'STANDBY',
@ReturnBackupList = 'N',
@ReturnTaskList = 'N',
@Execute = 'Y'

如何解决此问题?你可以帮我吗?

提前谢谢你。

您收到此错误是因为在从differential backup还原之前没有还原full backup

今天是星期三。我已经恢复了数据库的完整备份 星期日。

您使用recovery恢复了完整备份。您的数据库已投入使用,online,现在无法还原更多的logdifferential backup

为了恢复您的differential backup您应该首先使用norecovery恢复您的full backup,然后才能恢复您的differential backup

请参阅此 BOL 文章以了解如何还原差异备份:还原差异数据库备份 (SQL Server)

还原差异数据库备份

执行还原数据库 语句,指定 NORECOVERY 子句,以恢复完整 差异数据库备份之前的数据库备份。 有关更多信息,请参见如何:还原完整备份。

执行还原数据库语句以还原差异 数据库备份,指定:

差异数据库备份所在的数据库的名称 应用的。

还原差异数据库备份的备份设备 从。

NORECOVERY 子句(如果要应用事务日志备份) 还原差异数据库备份后。否则,请指定 恢复条款。

相关内容

最新更新