[SQL SERVER][HA]資料庫鏡像#簡介

[SQL SERVER][HA]資料庫鏡像#簡介

最近剛好有機會建置資料庫鏡像,這個禮拜自己以演練過好幾次,

所以今天整個建置過程都還滿順利的,這裡記錄一下。

 

什麼是資料庫鏡像?

資料庫鏡像會維護主資料庫的兩份副本,通常這兩份副本都位於不同的SQL Server 主機伺服器執行個體上。

鏡像伺服器通常會當做待命伺服器使用(有資料遺失的風險)。

三種角色類型:

主體角色:主要資料庫伺服器。

鏡像角色:主要資料庫的副本,主要為待命作用。

見證角色:選擇性執行個體,可以讓在高安全性模式工作階段中的鏡像伺服器判斷是否啟動自動容錯移轉。

 

資料庫鏡像有什麼優點?

讓資料多一層保護。

提高資料庫的可用性:再高安全和高效能模式有更靈活的平衡機制。

減少資料庫停機時間: Rolling Upgrade(利用角色切換)。

 

資料庫鏡像模式種類

高安全性模式:

當工作階段開始時,鏡像伺服器會儘快將鏡像資料庫與主體資料庫進行同步處理。

一旦資料庫同步處理完成之後,交易將同時在兩個夥伴上進行認可,但會增加交易延遲性(效能較差)。

image

高效能模式:

依非同步執行交易紀錄檔的認可,鏡像資料庫可能會稍微落後主體資料庫(通常差距很小)。

但若主體伺服器的工作負載很大,或鏡像伺服器的系統超載時,此差距就會慢慢變大。

image

運作方式

將主體資料庫上發生的每一項插入、更新和刪除作業,儘快 Redo 到鏡像資料庫上。

主要利用交易記錄檔記錄的資料流傳送到鏡像伺服器,再由鏡像伺服器依序將記錄套用到鏡像資料庫。

從 SQL Server 2008 後,主體伺服器會先壓縮交易記錄檔記錄的資料流,然後再將它傳送至鏡像伺服器。

這個記錄檔壓縮作業會在所有鏡像工作階段中進行。進而加快並縮短傳送資料流時間。

 

角色切換方式

發生角色切換時,鏡像伺服器將接替主體角色,並使其資料庫副本變成線上狀態以做為主體資料庫。

先前的主體伺服器將會擔任鏡像角色,而其資料庫則會變成新的鏡像資料庫。

原則上,各角色可以重複來回切換。

角色切換有下列三種形式。

自動容錯移轉:
需要使用高安全性模式而且鏡像和見證伺服器都必須存在。且資料庫必須已同步處理,而見證也必須連接到鏡像伺服器。

手動容錯移轉:
需要使用高安全性模式。夥伴必須互相連接,而且資料庫也必須已完成同步處理。

強制服務 (可能發生資料遺失):
在高效能模式與不含自動容錯移轉的高安全性模式中,如果主體伺服器已經故障,但鏡像伺服器仍然可用,就可以使用強制服務。

 

下一篇將實作同步資料庫鏡像。

 

參考

資料庫鏡像

資料庫鏡像概觀

資料庫鏡像的必要條件、限制和建議事項