Hei*_*nzi 41 backup sql-server
我刚刚阅读了很多 MSDN 文档,我想我了解不同的恢复模型和备份链的概念。我还有一个问题:
完整数据库备份是否会截断事务日志(使用完整恢复模式)?
如果是:MSDN 中在哪里提到了这一点?我所能找到的只是 BACKUP LOG 截断日志。
如果没有:为什么?由于完整数据库备份会启动一个新的备份链,那么在日志中保留完整备份之前完成的事务有什么意义呢?
Pau*_*dal 43
不 - 它绝对不是。该只允许日志在FULL或BULK_LOGGED恢复模型明确/截断的是一个日志备份-没有例外。不久前我有这个论点,并发布了一篇长而详细的博客文章,其中包含解释和脚本,您可以在“围绕日志和日志备份的误解:如何说服自己”中向自己证明这一点。
请随时跟进更多问题。顺便说一句 - 另请参阅我为 TechNet 杂志撰写的关于了解 SQL Server 中的日志记录和恢复的长篇文章。
谢谢
Mat*_*ish 13
完整备份不会截断日志,您必须执行备份日志操作。完整备份不会重新设置日志链——这会完全搞砸复制/日志传送等。
您必须仔细查看 SQL Server 如何进行备份,但知道备份中不包含进行中/长时间运行的事务(否则备份可能永远不会完成),因此说完整备份online-database 保证使下一个日志备份过时。
http://msdn.microsoft.com/en-us/library/ms175477.aspx
根据我的理解,截断事务日志的唯一方法是日志备份。
完整备份仅复制足够的日志以使其在事务上保持一致,因为备份操作需要一段时间才能完成,并且在此期间复制的页面可能已更改。
您仍然需要您的日志备份来进行时间点恢复。
我没有可链接到的 MSDN,但我可以将您链接到Paul Randal 的博客,他是 SQL Server 团队的一名开发人员,撰写了 DBCC CHECKDB 和部分联机丛书。
他还在这个论坛上回答问题,所以这将是一个更好的权威,然后是我的第二/第三手信息:)
小智 5
人们经常对完整备份和日志备份有误解。为了使备份在FULL备份恢复模型中工作,必须使用 t-logs,因为在备份期间,数据库中可能仍有事务在进行(除非您COLD在关闭数据库时执行所谓的备份)。当数据库处于ARCHIVELOG模式时,Oracle 使用相同的概念。备份的顺序归结为:
这就是默认情况下不会截断/收缩 t-log 的原因,因为它们是备份阶段事务继续的重要部分。
| 归档时间: |
|
| 查看次数: |
55747 次 |
| 最近记录: |