SQL Server 備份你真的了解嗎?
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
我們知道SQL Server三種常用的備份類(lèi)型:完整備份、差異備份、日志備份 如下,當(dāng)我們對(duì)數(shù)據(jù)庫(kù)進(jìn)行以下備份計(jì)劃(數(shù)據(jù)庫(kù)必須進(jìn)行首次非COPY_ONLY的完整備份,才能進(jìn)行差異或日志備份) 在進(jìn)行時(shí)間點(diǎn)恢復(fù)的時(shí)候,可以使用如下方式根據(jù)要求組合恢復(fù):
也就是說(shuō),恢復(fù)的基準(zhǔn)是完整備份,日志作為增量備份是獨(dú)立的。從上面的備份恢復(fù)方案可以看出,差異備份(Diff)似乎就有點(diǎn)多余了。 差異備份僅捕獲自該次完整備份后發(fā)生更改的數(shù)據(jù),所以備份的時(shí)間相對(duì)較少,但必須保留最近的完整備份。對(duì)于頻繁的完整備份,用差異備份替換可減少了備份的時(shí)間、大小。但是增加了備份文件的管理難度,以及恢復(fù)的復(fù)雜度。如果你的數(shù)據(jù)庫(kù)數(shù)量少、并且不大,不推薦使用差異備份;如果你的數(shù)據(jù)庫(kù)很大,推薦使用差異備份。 同樣,如果你多年前已經(jīng)進(jìn)行了一次完整備份,如今你可以選擇兩種備份計(jì)劃(推薦第一種):
既然日志備份是獨(dú)立的,在恢復(fù)的時(shí)候(如恢復(fù)到Log-05),我們可以選擇的恢復(fù)方案如下
這兩種恢復(fù)方案的結(jié)果是一樣的,即使完整備份與日志備份都使用 COPY_ONLY 也一樣(COPY_ONLY 使日志無(wú)法截?cái)嘀赜茫H绻銇G失了中間的一些完整備份,你可以使用較早的完整備份加后續(xù)的日志備份來(lái)恢復(fù) 在 SQL Server AlwaysOn AG 中,備份要求如下:
主備副本允許的備份類(lèi)型:
AG備份選項(xiàng)與優(yōu)先級(jí)的關(guān)系(3節(jié)點(diǎn)示例):
判斷當(dāng)前實(shí)例的數(shù)據(jù)庫(kù)是否是備份的首選副本,可用系統(tǒng)函數(shù)fn_hadr_backup_is_preferred_replica查看。
當(dāng)然,fn_hadr_backup_is_preferred_replica 是考慮同步提交的情況。如果副本都是異步提交,優(yōu)先級(jí)則被忽略,系統(tǒng)默認(rèn)首選副本為主副本。如所有副本異步提交并且選擇 “僅輔助副本”, 函數(shù) fn_hadr_backup_is_preferred_replica 在主副本與輔助副本的結(jié)果都為0。只要備份首選項(xiàng)中含有主副本,那么主副本都為1。 在AlwaysOn AG 中,你知道各節(jié)點(diǎn)備份的關(guān)系嗎?我這里有3個(gè)副本,將按由上至下的順序進(jìn)行備份。
當(dāng)我們需要恢復(fù)數(shù)據(jù)庫(kù)的時(shí)候,我們可以將所有的日志用來(lái)一起恢復(fù): [Full-backup] + [Log-backup-01]+ [Log-backup-02]+ [Log-backup-03] 上面的恢復(fù)中是正常的。也就是說(shuō),不管在哪個(gè)節(jié)點(diǎn)備份日志,日志鏈都是連接的。當(dāng)在輔助副本進(jìn)行日志備份的時(shí)候,它會(huì)通知主副本。主副本獲取到一個(gè)備份鎖,以防止多個(gè)副本同時(shí)進(jìn)行備份。輔助副本備份完成后,會(huì)告知主副本并發(fā)送LSN信息。主副本更新自己的LSN并同步更新其他輔助副本的LSN信息。完成后,主副本釋放備份鎖,備份完成。這時(shí)可允許新的備份操作、也允許副本根據(jù)LSN截?cái)嗳罩尽R虼耍话阒辉谝粋€(gè)節(jié)點(diǎn)上備份,如果該節(jié)點(diǎn)宕機(jī),在其他點(diǎn)上啟用的日志備份計(jì)劃,盡量將備份保留在公共的共享位置來(lái)管理,以維護(hù)完整的日志順序。 閱讀原文:原文鏈接 該文章在 2025/1/10 11:08:23 編輯過(guò) |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |