我们最近切换到FULL
恢复模式,每个周末都进行完整备份,每天进行差异备份。
这在上周末奏效了,但是这个周末差异备份失败了,说
信息
以用户身份执行:用户名。... 32 位版本的 9.00.3042.00 版权所有 (C) Microsoft Corp 1984-2005。版权所有。
开始时间:12:30:00 AM
进度:2013-01-21 00:30:01.69
来源:{450389BA-54C2-4892-9CD0-0126CA9B0ED8} 执行查询“DECLARE @Guid UNIQUEIDENTIFIER EXECUTE msdb..sp”:100%完成
结束进度
错误:2013-01-21 00:30:02.11 代码:0xC002F210
来源:备份数据库(差异)执行 SQL 任务
描述:执行查询“BACKUP DATABASE [MyDatabase] TO DISK = N'E:\Database Backups \MyDatabase_backup_201301210030.bak' WITH DIFFERENTIAL, NOFORMAT, NOINIT, NAME = N'MyDatabase_backup_20130121003002', SKIP, REWIND, NOUNLOAD, STATS = 10 "“无法对数据库“MyDatabase”执行差异备份,因为当前数据库备份不存在。通过重新发出 BACKUP DATABASE 执行完整数据库备份,省略 WITH DIFFERENTIAL 选项 。BAC...包执行失败...步骤失败的。
运行完整数据库备份的作业成功运行,我可以使用此处找到的查询查看备份,所以我不确定为什么它告诉我“当前数据库备份不存在”。
我发现这个 MSDN 页面表明问题的原因是
如果在创建完整数据库备份后完整数据库备份的内部状态标志未重置,则可能会出现此问题。
我无法立即安装修补程序,并且现在不能进行另一个完整的数据库备份,所以我想尝试手动重置内部状态标志以进行完整的数据库备份。
有没有办法手动重置此标志,以便在本周余下的时间里成功运行差异?msdb.dbo.BackupSet
或者将基本备份设置为/中存在的现有完整备份msdb.dbo.BackupMediaFamily
?
我正在使用 SQL Server 2005
您在这里的主要目标是确保恢复数据库的能力。只要您拥有从上次完整备份到现在的完整日志备份链,就可以执行时间点恢复,而错误只是带来不便。完整时间点恢复不需要差异备份,只是为您提供了更大时间范围的捷径。但是,在没有差异的情况下,您将需要所有日志备份来弥补差距。
否则,正确重置它的唯一方法是执行另一个实际的完整备份。我会建议尽快执行此操作,这取决于您的数据库的大小,这应该是可以在一夜之间完成的事情,而不是您的正常差异。
此外,我强烈建议您为 SQL 2005 应用 Service Pack 4,以确保您拥有适用于您的平台的最新修补程序/更新。
我不会重置那个标志。如果您这样做了(您可能做不到),则无法保证您在需要恢复时能够恢复差异或日志备份,而且我几乎可以保证完全不支持更改该状态标志。
这里唯一的选择是尝试进行新的完整备份并查看标志是否已重置。
该修补程序也不适用于您。根据您发布的错误,您正在运行 9.00.3042.00,而该修补程序适用于 9.0.1550.0 以下,因为它将您带到 9.0.1550.0。