sql-server - 为什么我们在 bulk_logged 恢复模型中得到的 t-log 备份的大小在某些情况下会减小?
问题描述
bulk_logged 恢复模型在我们进行 t-log 备份时也应该增加 t-log 文件的大小。因为在这种情况下,日志记录和数据页都在 t-log 备份中。我在一些测试中检查了这一点:
- 我创建了一个数据库并设置了完整的恢复模式
- 我创建了一个表并插入了 2gb 以上的数据
- 进行 t-log 备份
- 插入2gb以上数据
- 进行 t-log 备份
- 设置 bulk_logged 恢复模式
- 插入数据并进行 t-log 备份
然后我比较了 t-log 备份的大小
为什么我们在 bulk_logged 恢复模型中得到的 t-log 备份的大小没有增加?
解决方案
每次备份事务日志时,文件中存储的事务都会被清除。所以不同的备份不会累积旧的备份事务......当使用批量日志模型进行恢复时,一些SQL事务不会完全写入事务日志。这就是为什么最后一次备份的大小略小。
推荐阅读
- firebase - 该请求在 Firebase 中缺少带有推送通知的身份验证密钥
- hyperledger-fabric - Hyperledger Fabric,javascript fabcar 链码错误。传输:拨号时出错:拨打 tcp 127.0.0.1:7051:连接:连接被拒绝
- ios - 组合布局标头内存泄漏
- flutter - 如何让 Flutter Web App 在 Android 模拟器中运行
- python - 如何在python的嵌套字典中获取文件的内容?
- algorithm - 动态规划——最长公共子串:理解空间优化
- oop - 如何在 OOP 中实现设计
- sql-server - 使用窗口函数查询略有不同的 over 子句,删除表假脱机
- php - 根据 PHP 值更改背景
- rest - ResponseEntity.ok() 没有响应主体?