數據庫全量備份、差異備份和日誌備份方案
我正在使用數據庫備份,首先我想大致了解每週/每日備份的計劃。當我試圖制定這樣的計劃時,我已經反駁了一些問題,我嘗試的是:
對於每週
FULL DATABASE BACKUP
,使用:BACKUP DATABASE name To Disk... WITH INIT,SKIP;
- 我可以將其設置為
SKIP
每週覆蓋舊的完整備份文件嗎?如果我沒有添加EXPIREDATE
orRETAINDAYS
,這是否意味著目前備份不會覆蓋現有備份,因為舊備份永不過期?對於日常
Differential DATABASE BACKUP
,使用BACKUP DATABASE name To Disk... WITH DIFFERENTIAL,INIT,SKIP;
2. SQL Server 如何知道每日差異基於哪個完整備份?通過使用WITH FORMAT, MediaName='...'
?如果是這樣,這是否意味著我第一次進行完整的數據庫備份我需要格式化一個新的媒體集,例如DatabaseA
為該數據庫設置的媒體集,對於以後的備份,我可以WITH NOFORMAT, medianame = DatabaseA'
讓 sql server 知道差異備份應該附加到該完整備份數據庫?對於事務日誌備份,使用
BACKUP LOG A TO DISK...
3. 我知道添加到日誌備份是不好的WITH INIT
,但是如何處理不斷增加的日誌備份?Shrinkfile(log)
每次我做完整的數據庫備份?這是否意味著我可以在下一次完整備份到來之前忽略事務日誌大小的增加?
我將嘗試為您節省大量時間來處理過時且大多數不必要的備份選項。只需使用Ola Hallengren 的免費腳本。
接下來,決定備份頻率是一項業務決策,因為它與RPO 和 RTO相關。這裡沒有人可以告訴您允許失去多少數據。但有一件事:如果您正在考慮每天進行一次日誌備份,那麼您不應該處於完全恢復模式。
這也與:不要收縮您的數據庫。您的日誌文件會增長,因為您根本沒有備份它,或者經常備份它。如果縮小它,它會再次增長,這不是管理 SQL Server 的明智方法。要麼更頻繁地備份它,要麼切換到簡單恢復。
不過,這個決定在你和管理層之間。
補充所有其他答案,至於不同備份的頻率,如果數據庫是關鍵任務,因此在 FULL 恢復模型中,那麼每週一次 FULL 備份、每天 DIFFERENTIAL 備份和每 15 分鐘一次 LOG 備份將是最好的解決方案. 對於不太重要的數據庫,請進行每週完整備份和每日 DIFFERENTIAL 備份。