我使用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
,现在无法还原更多的log
或differential backup
。
为了恢复您的differential backup
您应该首先使用norecovery
恢复您的full backup
,然后才能恢复您的differential backup
。
请参阅此 BOL 文章以了解如何还原差异备份:还原差异数据库备份 (SQL Server)
还原差异数据库备份
执行还原数据库 语句,指定 NORECOVERY 子句,以恢复完整 差异数据库备份之前的数据库备份。 有关更多信息,请参见如何:还原完整备份。
执行还原数据库语句以还原差异 数据库备份,指定:
差异数据库备份所在的数据库的名称 应用的。
还原差异数据库备份的备份设备 从。
NORECOVERY 子句(如果要应用事务日志备份) 还原差异数据库备份后。否则,请指定 恢复条款。