当您可以执行 COPY_ONLY 时,为什么要进行完整备份?

Pat*_*tor 3 sql-server backup sql-server-2012 availability-groups

对于 SQL Server 2012 可用性组,您只能COPY_ONLY对副本进行完整备份。您可以定期制作BACKUP LOG.

由于可以在从COPY_ONLY转储恢复数据库后恢复日志备份,我们真的需要进行完整(非COPY_ONLY)备份吗?

是的,它创建了一个新的 LSN 序列,但如果我们不做DIFFERENTIAL备份,我们需要考虑一下吗?

通过仅使用COPY_ONLY备份,我希望能够在只读副本上执行所有备份。我的 AG 是异步的,因此备份可能在主服务器之后,但这是可以接受的风险。

我做日志备份。根据我的测试,COPY_ONLY只要日志备份 LSN 比完整备份更新,我就能够恢复数据库上的任何日志备份(无论是否从 a 恢复)。完整备份会更改database_backup_lsnCOPY_ONLY不会更改,但似乎不会影响日志还原。似乎我无法恢复 DIF 备份,但我不需要那个。

dba.se Q&A里面有很好的解释:

SQL Server 2008 R2 使用事务日志还原 COPY_ONLY 完整备份

...但它没有回答我的问题。目前,我的结论是:除了第一次备份(没有它您将无法进行日志备份),COPY_ONLY如果我们不使用差异,我们只能使用备份。

我的(一般)问题是:COPY_ONLY如果我们不采取差异,我们是否真的需要非备份,如果是,为什么?

Aar*_*and 8

只要你不在乎:

  • 在异步模型中,REDO 队列可能会落后很多,因此您的辅助服务器上的备份可能不代表您认为在主服务器上进行备份时会出现的时间点。
  • 你将无法使用 DIFFERENTIAL在此模型中备份。
  • 在恢复的情况下,您将必须手动确定哪些日志备份包含您需要在所选的基础上恢复的 LSN 范围 COPY_ONLY备份并且鉴于上述情况,bak/trn 文件上的时间戳可能不准确足以确定您需要的文件集和序列。
  • 备份历史不会被集中记录。

另外,我仍然认为会有一些场景,这个超长的日志链,或者依赖于COPY_ONLY日志备份之间的备份,会使其难以恢复。就个人而言,我希望定期在主服务器上执行完整、正确的备份,例如每周一次。天啊。