銷售: 1-800-867-1380

Azure SQL Database 的作用中地理複寫

更新日期: 2014年9月

作用中地理複寫 功能會實作一項在相同 Microsoft Azure 區域或不同區域 (地理備援) 中提供資料庫備援的機制。作用中地理複寫 會以非同步方式,將認可的交易從資料庫複寫到不同伺服器上的資料庫複本 (最多 4 個)。原始資料庫會變成連續複本的主要資料庫。每個連續複本都稱為線上次要資料庫。主要資料庫會將已認可的交易非同步地���寫至每一個線上次要資料庫。雖然在任一指定時間點,線上次要資料都可能稍微落後於主要資料庫,但是系統會保證線上次要資料在交易上一律與認可至主要資料庫的變更一致。作用中地理複寫 最多可支援四個線上次要資料庫,或是三個線上次要資料庫和一個離線次要資料庫。

作用中地理複寫的主要優點之一是提供資料庫層級的災害復原解決方案。使用 作用中地理複寫 可讓您在 Premium 服務層中設定使用者資料庫,以將交易複寫至位於相同或不同區域的不同 Microsoft Azure SQL Database 伺服器上的資料庫。在天災、災難性人為錯誤或惡意行為造成資料中心永久遺失的情況下,跨區域備援可讓應用程式復原。

另一項主要優點是線上次要資料庫是可讀取的。因此,線上次要資料庫可做為讀取工作負載 (例如報告) 的負載平衡器。您可以為了災害復原而在不同區域建立線上次要資料庫,也可以在相同區域的不同伺服器上準備一個線上次要資料庫。這兩個線上次要資料庫可用來平衡唯讀工作負載,以服務分散於數個區域的用戶端。

其他可使用作用中地理複寫的情況包括:

  • 資料庫移轉:作用中地理複寫可讓您在線上將一個伺服器的資料庫移轉至另一個伺服器,使停機時間縮到最短。

  • 應用程式升級:您可以使用線上次要資料庫作為容錯回復選項。

要達到真正的業務持續性,將資料中心之間的備援新增至關聯式儲存體只是方案的一部分。在災難性失敗之後,為了端對端復原應用程式 (服務),構成服務及任何相依服務的所有元件都必須復原。舉例來說,這些元件包括用戶端軟體 (例如含有自訂 JavaScript 的瀏覽器)、Web 前端、儲存體、DNS 等。所有元件必須能夠在應用程式的復原時間目標 (RTO) 內,從相同的失敗中迅速恢復並變成可用。因此,您必須識別所有的相依服務,並了解它們所提供的保證和功能。然後,您必須採取適當的步驟,以確保您的服務在其相依服務的容錯移轉期間能夠運作。如需有關設計災害復原解決方案的詳細資訊,請參閱使用作用中地理複寫設計災難復原的雲端解決方案

本主題內容

邏輯資料庫伺服器
以單一 Azure 區域為範圍,而作為授權界限、管理範圍和位置單位的資料庫邏輯群組。一個 Azure 訂閱可以有一或多部邏輯伺服器。在 Azure SQL 資料庫 文件的內容中,邏輯伺服器一般會簡稱為伺服器.

干擾性事件
導致應用程式可用性中斷的情況。某個中斷事件可能是基礎結構失敗、伺服器元件失敗、天災,或是人為或應用程式錯誤。

復原點目標 (RPO)
這是一個時間間隔,用以定義可接受應用程式從干擾性事件完全復原時容許遺失更新 (資料) 的持續期間上限。

復原時間目標 (RTO)
這是一個時間間隔,用以定義可接受應用程式從干擾性事件完全復原之前處於無法使用狀態的持續期間上限。

連續複製關聯性
可自動同步資料的主要資料庫和線上次要資料庫之間的連結。

作用中地理複寫
將主要資料庫的變更持續複製到相同或不同地理區域中的一或多個線上次要資料庫的過程。

主要區域
作用中地理複寫 主要資料庫在正常情況下所在的 Azure 區域。

次要區域
線上次要資料庫所在的 Azure 區域。

主要資料庫
此資料庫具有線上次要資料庫,且開放供應用程式完整存取。

線上次要資料庫
為了資料備援而在相同地區或不同地區中建立的主要資料庫唯讀連續更新複本。線上次要資料庫可由用戶端在線上讀取 (適用於唯讀查詢),但在與其主要資料庫的連續複製關聯性終止之前無法進行更新。

離線次要資料庫
為了資料備援而在 Azure 定義的 DR 配對地區中建立的主要資料庫連續更新複本。線上次要資料庫可由用戶端在線上讀取,但在與其主要資料庫的連續複製關聯性終止之前無法進行更新。

來源伺服器
在連續複製關聯性中,主控主要資料庫的 SQL 資料庫 伺服器。

目標伺服器
在連續複製關聯性中,主控線上次要資料庫的 Azure SQL 資料庫 伺服器。

計劃性終止
事前協調���終止連續複製關聯性的程序,將會完整複寫主要資料庫上所有已認可的交易。所需的終止時間取決於已認可的交易數。

非計劃性 (強制) 終止
立即終止連續複製關聯性的程序,不會嘗試複寫主要資料庫上所有已認可的交易。此程序所需的時間與主要資料庫上已認可的交易數無關。

計劃性容錯移轉
在計劃性作業中,例如災害復原訓練,將應用程式存取切換至線上次要資料庫的程序。計劃的容錯移轉不需要強制終止,所以不會導致資料遺失。

非計劃性容錯移轉
在發生非計劃性干擾性事件之後,將應用程式存取切換到線上次要資料庫的程序。未計劃的容錯移轉需要強制終止,可能導致資料遺失。

植入
在主要資料庫變成線上次要資料庫且開始複寫送入的更新之前,建立主要資料庫的初始交易一致性複本 (快照) 的程序。

作用中地理複寫功能提供下列基本功能:

  • 自動非同步複寫:在植入線上次要資料庫之後,就自動將主要資料庫的更新非同步地複製到線上次要資料庫。這表示交易會先在主要資料庫上認可,然後才複製到線上次要資料庫。不過,在植入之後,線上次要資料庫在任何候時都維持交易一致性。

    note附註
    非同步複寫可解決遠端資料中心所連接的廣域網路常見的延遲現象。

  • 多個線上次要資料庫:兩個以上的線上次要資料庫就能加強主要資料庫和應用程式的備援和保護。如果有多個線上次要資料庫,即使其中一個線上次要資料庫失敗,應用程式仍受保護。如果只有一個線上次要資料庫且失敗,則在建立新的線上次要資料庫之前,應用程式會陷入較高的風險之中。

  • 可讀取的線上次要資料庫:應用程式可以使用與存取主要資料庫時所用的相同安全性主體來存取線上次要資料庫以進行唯讀作業。線上次要資料庫上的連續複製作業優先於應用程式存取。另外,如果線上次要資料庫上的查詢造成資料表長時間鎖定,主要資料庫上的交易最後可能會失敗。

  • 容錯移轉之前由使用者控制終止:線上次要資料庫與主要資料庫之間的連續複製關聯性必須先終止,您才能將應用程式容錯移轉至線上次要資料庫。終止連續複製關聯性必須由應用程式或管理指令碼採取明確動作,或手動透過入口網站來進行。終止之後,線上次要資料庫會變成獨立資料庫。它會變成讀寫資料庫,除非主要資料庫已經是唯讀資料庫。本主題稍後將說明終止連續複製關聯性的兩種形式。

Important重要事項
作用中地理複寫 僅支援 Premium 服務層中的資料庫。這適用於主要資料庫和線上次要資料庫。線上次要資料庫必須設定為與主要資料庫相同或更高的效能層級。主要資料庫的效能層級變更不會自動複寫至次要資料庫。任何升級都應先在次要資料庫上執行,最後才在主要資料庫上執行。如需變更效能層級的詳細資訊,請參閱Changing Performance Levels。線上次要資料庫的大小至少必須與主要資料庫相同,主要有兩個原因。次要資料庫必須有足夠的容量,才能以和主要資料庫相同的速度來處理複寫的交易。如果次要資料庫沒有足夠的 (至少相同的) 容量可處理連入的交易,則可能會落後而最終影響到主要資料庫的可用性。如果次要資料庫和主要資料庫的容量不相等,則容錯移轉可能會降低應用程式的效能和可用性。

本機資料備援和作業復原是 Azure SQL 資料庫 的標準功能。每個資料庫都有一個主要資料庫和兩個本機複本資料庫位於相同的資料中心,而在該資料中心內提供高可用性。這表示 作用中地理複寫 資料庫也有備援複本。主要資料庫和線上次要資料庫都有兩個次要複本。但是,次要資料庫的主要複本會由連續複製機制直接更新,而無法接受任何應用程式起始的更新。下圖說明 作用中地理複寫 如何跨兩個 Azure 區域延伸資料庫備援。主要資料庫所在的區域稱為主要區域。線上次要資料庫所在的區域稱為次要區域。在此圖中,北歐是主要區域。西歐是次要區域。

跨越兩個區域的資料庫地理備援性

如果主要資料庫變成無法使用,則終止特定線上次要資料庫的連續複製關聯性,將會使線上次要資料庫變成獨立資料庫。線上次要資料庫會繼承主要資料庫的唯讀/讀寫模式,這不因終止而改變。例如,如果主要資料庫是唯讀資料庫,則終止之後,線上次要資料庫會變成唯讀資料庫。此時,應用程式可以容錯移轉並繼續使用線上次要資料庫。在資料中心發生災難性失敗或主要區域中長時間停機的情況下,為了能夠迅速恢復,至少需要有一個線上次要資料庫位於不同的區域。

本節內容

您只能建立現有資料庫的連續複本。為了增加地理備援,建立現有資料庫的連續複本會很有用。您也可以建立連續複本,以將現有的資料庫複製到不同的 Azure SQL 資料庫 伺服器。建立之後,次要資料庫即會填入從主要資料庫中複製的資料。此程序稱為植入。植入完成後,每筆新交易只要在主要資料庫上進行認可後,即可複寫。

如需有關如何建立現有資料庫的連續複本的相關資訊,請參閱設定作用中地理複寫 (連續複製)

由於廣域網路的延遲現象嚴重,連續複製採用非同步複寫機制。這使得失敗發生時無可避免會遺失一些資料。但有些應用程式可能會要求不可遺失資料。若要保護這些重大更新,應用程式開發人員可以在認可交易之後立即呼叫 sp_wait_for_database_copy_syncsp_wait_for_database_copy_sync 系統程序。呼叫 sp_wait_for_database_copy_sync 會暫停呼叫執行緒,直到最後認可的交易複寫到線上次要資料庫為止。此程序會一直等待到所有已排入佇列的交易都由線上次要資料庫認可為止。sp_wait_for_database_copy_sync 以特定的連續複製連結為範圍。直接連線至主要資料庫的任何使用者都可以呼叫此程序。

Caution注意
sp_wait_for_database_copy_sync 程序呼叫所造成的延遲可能會很嚴重。延遲時間取決於佇列長度和可用的頻寬。若非絕對必要,請避免呼叫此程序。

連續複製關聯性可隨時終止。終止連續複製關聯性並不會移除次要資料庫。有兩種方法可用來終止連續複製關聯性:

  1. 計劃的終止適用於不容許資料遺失的計劃性作業。計劃的終止只能在主要資料庫上執行,而且是在植入線上次要資料庫之後。進行計劃的終止時,首先會將主要資料庫上所有已認可的交易複寫至線上次要資料庫,然後終止連續複寫關聯性。這樣可防止次要資料庫上遺失資料。

  2. 未計劃的 (強制的) 終止是為了解決主要資料庫或其中一個線上次要資料庫遺失的問題。強制終止可以在主要資料庫或次要資料庫上執行。每次強制終止都會導致主要資料庫與相關聯的線上次要資料庫之間失去複寫關聯性,且無法回復。此外,強制終止也會造成尚未從主要資料庫複寫的交易全部遺失。強制的終止會立即終止連續複製關聯性。進行中的交易不會複寫至線上次要資料庫。因此,強制的終止可能導致尚未從主要資料庫複寫的任何交易永久遺失。

Warning警告
如果主要資料庫只有一個連續複製關聯性,則在終止後,對主要資料庫的更新將不再受到保護。

如需有關如何終止連續複製關聯性的詳細資訊,請參閱終止連續複製關聯性

問:我是否可以使用不同的訂閱建立次要資料庫?

答: 否。作用中地理複寫 作業會使用以訂閱為基礎的憑證驗證,因此主要資料庫及其所有的次要資料庫都應使用相同的訂閱。

問:master 中的中繼資料是否會從主要資料庫複寫至次要資料庫?

答: 否。只會複寫主要資料庫中的資料。DMV 和所有其他中繼資料都是資料庫專屬資料,而主要與次要資料庫會被視為不同的資料庫。

問:我是否可從次要資料庫來還原資料庫?

答: 是。您可以存取備份,然後從主要資料庫或次要資料庫提交還原要求。

本文對您有任何幫助嗎?
(剩餘 1500 個字元)
感謝您提供意見
顯示:
© 2015 Microsoft