日志传送是否可以与普通事务日志备份并存

2016-03-18 15:18 整理,未发布
日志传送实际是备份日志、拷贝日志、还原日志。我们可以将备份好的日志文件拷贝一份到其他存储,再结合必要的完整备份,就可以用来还原数据。
如果做了日志传送,还需对其做普通的日志备份。那就要考虑清楚,普通的日志备份不能截断事务日志,不然日志传送中的日志链就会中断。
如果普通的事务日志带上with copy_only选项,它不会截断日志
BACKUP LOG WITH COPY_ONLY --1 带COPY_ONLY日志备份
BACKUP LOG --2 日志传送
BACKUP LOG WITH COPY_ONLY --3 带COPY_ONLY日志备份
第2步lastlsn=第3步的firstlsn,也就是要第3步的文件需在第2步的文件上才能还原
如果没有类似第2步的普通日志备份,那backup log with copy_only类似差异备份,备份保存自上次日志备份(有截断日志)以来所有的变更。只要没有截断(完整/差异备份不会影响),日志备份(copy_only)文件越来越大。
因此在日志传送和日志备份(copy_only)并存的情况下,还原顺序应该是:最近的完整备份+最近的完整备份与最近的日志备份(copy_only)之间的日志传送所生成的日志备份+最近的日志备份(copy_only)。
--判断某日志备份是否能应用到当前正在还原的 DB上

复制代码
--判断某日志备份是否能应用到当前正在还原的 DB上
USE master ;
GO
DECLARE @MyBitVar BIT;
EXEC sp_can_tlog_be_applied
     @backup_file_name = N'D:\logbak_log_copy5.bak' ,
     @database_name = N'logbakre',
     @result = @MyBitVar OUTPUT;
SELECT @MyBitVar
GO
复制代码
posted @   Uest  阅读(620)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
历史上的今天:
2015-08-26 【译】第四篇 Integration Services:增量加载-Updating Rows
点击右上角即可分享
微信分享提示