大型DB的日志传送-日志呢?


8

我目前正在设置大型数据库(大约1.5TB)的日志传送,并且想知道如何处理日志文件。

就目前而言,我想执行以下步骤:

  1. 将数据库更改为完全恢复
  2. 在主数据库上进行完整备份(5-6小时)
  3. 将完整备份还原到辅助数据库(保留NORECOVERY)
  4. 在主数据库上进行DIFF备份
  5. 将DIFF备份还原到辅助(仍处于NORECOVERY)
  6. 使用“数据库已初始化”初始化日志传送

问题是,当我进行完整备份时,日志文件的填充速度将比备份可以完成的速度快。

我有什么选择可以防止日志文件填满?我能否仅在FULL备份期间照常进行日志备份,因为DIFF还原将覆盖该时间段内发生的所有事务?以前有人用这种大小的数据库做过此事吗?

Answers:


9

如果我对您的理解正确,那么您的主要问题是备份几个小时后的日志文件。从您的开场白中,我了解到1.5 TB数据库通常在SIMPLE恢复中运行,因此无需执行日志备份。

免责声明:我从未做过这种规模的日志传送。

当然,您应该询问是否可以为日志文件分配更多的空间。如果可以,那就太好了。

但是,我认为对您的计划进行一些小的修改,前提是您已经在SIMPLE恢复模型中运行和/或SIMPLE恢复模型有几个小时的风险是值得的,这将减轻您的一些担忧。

  1. 使数据库保持(或设置)为SIMPLE恢复模型。
  2. 在主数据库上进行完整备份(5-6小时)
  3. 将完整备份还原到辅助数据库(保留NORECOVERY)
  4. 将数据库设置为完整恢复模式
  5. 在主数据库上进行DIFF备份
  6. 将DIFF备份还原到辅助(仍处于NORECOVERY)
  7. 使用“数据库已初始化”初始化日志传送

明显的优势是:

  1. 大型FULL备份期间没有要备​​份的日志文件。
  2. 在开始DIFF备份之前切换到FULL,将为您提供所需的日志开始,并且最长的增长可能是在DIFF备份期间。

关于何时可以开始日志备份:

https://technet.microsoft.com/zh-CN/library/ms190729(v=SQL.105).aspx

这就是说:“新的日志链要么数据库创建的第一个完整数据库备份开始,要么从简单恢复模型切换到完整或批量记录的恢复模型。”

因此,我仍然相信这将按概述进行工作。(不完全相同,但是我使用差异备份来弥补日志文件丢失时的空白,以便为日志备份建立新的来源。)

(请记住我的免责声明。)


我认为这听起来很有用。我目前正在执行完整备份,明天将报告结果。感谢RLF的帮助,我会在一切完成后立即将其标记为答案,以防万一我们需要再增加一到两个步骤来为以后的读者解决这个问题。
Kris Gruttemeyer

请稍等,在进行首次完全备份之前,不会不启动完全恢复吗?我想知道在第一次完全备份之后切换到完全恢复是否没有效果,因为直到第一次备份之后才激活完全恢复。
Kris Gruttemeyer

@KrisGruttemeyer-更新帖子
RLF

复制,我明天再报告。这件事仍在备份。
Kris Gruttemeyer

确保您在...上具有备份压缩功能
Rob Farley
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.