Fre*_*gen 2 sql-server backup database-internals
我们有一个 SQL Server 2014 Enterprise,其中 DIFF 备份失败。
这是我们收到的错误消息:
消息 3035,级别 16,状态 1,服务器 sqltest,第 1 行
无法对数据库“database1”执行差异备份,因为当前数据库备份不存在。通过重新发出 BACKUP DATABASE 来执行完整数据库备份,忽略WITH DIFFERENTIAL 选项。
分析以下查询的输出后,我们注意到第三方工具正在进行快照备份。
select top 20 bs.type,bs.database_backup_lsn,bs.checkpoint_lsn,bs.backup_start_date,bs.is_snapshot,
bs.is_copy_only,bs.user_name
from dbo.backupset bs
where bs.database_name = 'database1'
order by backup_start_date desc
Run Code Online (Sandbox Code Playgroud)
根据Pinal Dave 的说法,这些工具使用 VSS 进行备份,这不是正常的完整备份。
我不明白的是为什么LOG备份会成功?据我所知,它们也是基于最后一次完整备份的。
有人可以向我解释这种差异吗?
日志备份不基于最近的完整备份。它基于最新的日志备份。
即,只要您有完整的日志备份链,您就可以在恢复日志备份时“跳过”完整备份或差异备份。
至于您的特定问题:与备份软件/供应商合作,看看是否可以让它执行快照备份,以便COPY_ONLYSQL Server 看到它们。可能是备份软件中的设置。