Sql-Server
當您可以執行 COPY_ONLY 時,為什麼還要進行完整備份?
使用 SQL Server 2012 可用性組,您只能
COPY_ONLY
對副本進行完整備份。你可以經常做BACKUP LOG
。由於可以在從
COPY_ONLY
轉儲中恢復數據庫後恢復日誌備份,我們真的需要進行完整(非COPY_ONLY
)備份嗎?是的,它創建了一個新的 LSN 序列,但是如果我們不進行
DIFFERENTIAL
備份,我們是否需要考慮一下?通過僅使用
COPY_ONLY
備份,我希望能夠在只讀副本上執行所有備份。我的 AG 是非同步的,因此備份可能落後於主節點,但這是可以接受的風險。我做日誌備份。
COPY_ONLY
根據我的測試,只要日誌備份 LSN 比完整備份更新,我就能夠恢復數據庫上的任何日誌備份(是否從 a 恢復)。完整備份改變了database_backup_lsn
,COPY_ONLY
沒有,但似乎它不影響日誌恢復。看來我只是無法恢復 DIF 備份,但我不需要。dba.se Q &A 中有一個很好的解釋:
SQL Server 2008 R2 使用事務日誌還原 COPY_ONLY 完整備份
…但它沒有回答我的問題。目前,我的結論是:除了第一次備份(沒有它,您將無法進行日誌備份),
COPY_ONLY
如果我們不使用差異,我們就可以使用備份。
COPY_ONLY
我的(一般)問題是:如果我們不採用差異,我們真的需要非備份嗎?如果是,為什麼?
只要你不在乎:
- 在非同步模型中,REDO 隊列可能會落後很多,因此輔助節點上的備份可能無法代表您認為如果它們在主節點上進行的時間點。
- 您將無法
DIFFERENTIAL
在此模型中使用備份。- 在還原的情況下,您必須手動確定哪些日誌備份包含您需要在所選
COPY_ONLY
備份之上還原的 LSN 範圍,並且鑑於上述情況,bak/trn 文件上的時間戳可能不准確足以確定您需要的文件集和序列。- 備份歷史不會集中記錄。
另外,我仍然認為,在某些情況下,這種超長的日誌鏈,或者依賴於
COPY_ONLY
在日誌備份之間進行的備份,會使恢復變得困難。就個人而言,我很想在某個固定的時間間隔(比如每週一次)在主伺服器上執行完整、適當的備份。YMMV。