設定 Azure SQL Database 的自動容錯移轉群組

適用于:Azure SQL資料庫

本主題將教導您如何使用 Azure 入口網站 和 Azure PowerShell,為 Azure SQL Database 中的單一和集區資料庫設定自動容錯移轉群組。 關於端對端體驗,請詳閱自動容錯移轉群組教學課程

注意

本文涵蓋 Azure SQL Database 的自動容錯移轉群組。 關於 Azure SQL 受控執行個體,請參閱設定 Azure SQL 受控執行個體中的自動容錯移轉群組 (英文)。

先決條件

請考慮下列為單一資料庫建立容錯移轉群組的必要條件:

  • 次要伺服器的伺服器登入和防火牆設定必須符合主要伺服器的設定。

建立容錯移轉群組

使用 Azure 入口網站建立您的容錯移轉群組,並將您的單一資料庫新增至其中。

  1. Azure 入口網站的左側功能表中,選取 [Azure SQL]。 如果 Azure SQL 不在清單中,請選取 [所有服務],然後在搜尋方塊中鍵入 Azure SQL。 (選用) 選取 Azure SQL 旁的星號將其設為最愛,並新增為左側導覽中的項目。

  2. 選取您要新增至容錯移轉群組的資料庫。

  3. 在 [伺服器名稱] 底下選取伺服器的名稱,以開啟伺服器的設定。

    開啟單一資料庫的伺服器

  4. 選取 [設定] 窗格底下的 [容錯移轉群組],然後選取 [新增群組],以建立新的容錯移轉群組。

    新增容錯移轉群組

  5. 在 [容錯移轉群組] 頁面上,輸入或選取所需的值,然後選取 [建立]。

    • 群組內的資料庫:選擇您要新增至容錯移轉群組的資料庫。 將資料庫新增到容錯移轉群組後,將會自動啟動異地複寫程序。

    將 SQL 資料庫新增至容錯移轉群組

測試容錯移轉

使用 Azure 入口網站或 PowerShell 測試容錯移轉群組的容錯移轉。

使用 Azure 入口網站測試容錯移轉群組的容錯移轉。

  1. Azure 入口網站的左側功能表中,選取 [Azure SQL]。 如果 Azure SQL 不在清單中,請選取 [所有服務],然後在搜尋方塊中鍵入 "Azure SQL"。 (選用) 選取 Azure SQL 旁的星號將其設為最愛,並新增為左側導覽中的項目。

  2. 選取您要新增至容錯移轉群組的資料庫。

    開啟單一資料庫的伺服器

  3. 選取 [設定] 窗格下的 [容錯移轉群組],然後選擇您剛才建立的容錯移轉群組。

    從入口網站選取容錯移轉群組

  4. 檢查哪個伺服器是主要的,哪個伺服器是次要的。

  5. 從工作窗格中選取 [容錯移轉],以容錯移轉包含資料庫的容錯移轉群組。

  6. 在通知您 TDS 工作階段將中斷的警告上,選取 [是]。

    容錯移轉包含您資料庫的容錯移轉群組

  7. 檢查哪個伺服器現在是主要的,哪個伺服器是次要的。 如果容錯移轉成功,這兩部伺服器應該已交換角色。

  8. 再次選取 [容錯移轉],讓伺服器容錯回復到其原始角色。

重要

如果您需要刪除次要資料庫,請先將其從容錯移轉群組中移除,再加以刪除。 將次要資料庫從容錯移轉群組中移除之前先將其刪除,可能會導致無法預期的行為。

先決條件

請考慮下列為集區資料庫建立容錯移轉群組的必要條件:

  • 次要伺服器的伺服器登入和防火牆設定必須符合主要伺服器的設定。

建立容錯移轉群組

使用 Azure 入口網站或 PowerShell 建立彈性集區的容錯移轉群組。

使用 Azure 入口網站建立您的容錯移轉群組,並將您的彈性集區新增至該群組。

  1. Azure 入口網站的左側功能表中,選取 [Azure SQL]。 如果 Azure SQL 不在清單中,請選取 [所有服務],然後在搜尋方塊中鍵入 "Azure SQL"。 (選用) 選取 Azure SQL 旁的星號將其設為最愛,並新增為左側導覽中的項目。

  2. 選取您要新增至容錯移轉群組的彈性集區。

  3. 在 [概觀] 窗格中選取 [伺服器名稱] 下的伺服器名稱,以開啟伺服器的設定。

    開啟彈性集區的伺服器

  4. 選取 [設定] 窗格底下的 [容錯移轉群組],然後選取 [新增群組],以建立新的容錯移轉群組。

    新增容錯移轉群組

  5. 在 [容錯移轉群組] 頁面上,輸入或選取所需的值,然後選取 [建立]。 請建立新的次要伺服器,或選取現有的次要伺服器。

  6. 選取 [群組中的資料庫],然後選擇您要新增至容錯移轉群組的彈性集區。 如果次要伺服器上還沒有彈性集區,則會出現警告,提示您在次要伺服器上建立彈性集區。 選取警告,然後選取 [確定],以在次要伺服器上建立彈性集區。

    將彈性集區新增至容錯移轉群組

  7. 選取 [選取],將您的彈性集區設定套用至容錯移轉群組,然後選取 [建立] 以建立容錯移轉群組。 將彈性集區新增至容錯移轉群組,將會自動啟動異地複寫程序。

測試容錯移轉

使用 Azure 入口網站或 PowerShell 測試彈性集區的容錯移轉。

將容錯移轉群組容錯移轉至次要伺服器,然後使用 Azure 入口網站進行容錯回復。

  1. Azure 入口網站的左側功能表中,選取 [Azure SQL]。 如果 Azure SQL 不在清單中,請選取 [所有服務],然後在搜尋方塊中鍵入 "Azure SQL"。 (選用) 選取 Azure SQL 旁的星號將其設為最愛,並新增為左側導覽中的項目。

  2. 選取您要新增至容錯移轉群組的彈性集區。

  3. 在 [概觀] 窗格中選取 [伺服器名稱] 下的伺服器名稱,以開啟伺服器的設定。

    開啟彈性集區的伺服器

  4. 選取 [設定] 窗格下的 [容錯移轉群組],然後選擇您在第 2 節中建立的容錯移轉群組。

    從入口網站選取容錯移轉群組

  5. 檢查哪個伺服器是主要的,哪個伺服器是次要的。

  6. 從工作窗格中選取 [容錯移轉],以容錯移轉包含彈性集區的容錯移轉群組。

  7. 在通知您 TDS 工作階段將中斷的警告上,選取 [是]。

    容錯移轉包含您資料庫的容錯移轉群組

  8. 檢查哪個伺服器是主要的,哪個伺服器是次要的。 如果容錯移轉成功,這兩部伺服器應該已交換角色。

  9. 再次選取 [容錯移轉],將容錯移轉群組容錯回復至原始設定。

重要

如果您需要刪除次要資料庫,請先將其從容錯移轉群組中移除,再加以刪除。 將次要資料庫從容錯移轉群組中移除之前先將其刪除,可能會導致無法預期的行為。

使用私人連結可讓您將邏輯伺服器與虛擬網路和子網路內的特定私人 IP 位址建立關聯。

若要使用私人連結搭配您的容錯移轉群組,請執行下列動作:

  1. 確保您的主要和次要伺服器都在配對的區域中。
  2. 在每個區域中建立虛擬網路和子網路,以裝載主要和次要伺服器的私人端點,使其具有不重疊的 IP 位址空間。 例如:10.0.0.0/16 的主要虛擬網路位址範圍與 10.0.0.1/16 的次要虛擬網路位址範圍重疊。 如需虛擬網路位址範圍的詳細資訊,請參閱設計 Azure 虛擬網路 (英文) 部落格。
  3. 建立主要伺服器的私人端點和 Azure 私人 DNS 區域
  4. 也請為次要伺服器建立私人端點,但這次選擇重複使用為主要伺服器所建立的同一個私人 DNS 區域。
  5. 建立私人連結之後,您可以遵循本文先前所述的步驟建立容錯移轉群組。

尋找接聽程式端點

設定容錯移轉群組之後,請將應用程式的連接字串更新為接聽程式端點。 這會讓您的應用程式連接到容錯移轉群組接聽程式,而不是主資料庫、彈性集區或執行個體資料庫。 如此一來,您就不需要在每次資料庫實體容錯移轉時手動更新連接字串,流量會路由傳送到目前為主要的任何實體。

接聽程式端點的形式為 fog-name.database.windows.net,而且,在檢視容錯移轉群組時,接聽程式端點會顯示在 Azure 入口網站中:

容錯移轉群組連接字串

變更次要區域

為了說明變更順序,我們會假設伺服器 A 是主要伺服器、伺服器 B 是現有的次要伺服器,而伺服器 C 是第三個區域中的新次要資料庫。 若要進行轉換,請遵循下列步驟:

  1. 使用作用中異地複寫,為伺服器 A 上的每個資料庫建立額外的次要複本至伺服器 C。 伺服器 A 上的每個資料庫都有兩個次要複本,一個在伺服器 B 上,另一個在伺服器 C 上。這可保證在轉換期間主要資料庫維持受保護。
  2. 刪除容錯移轉群組。 此時,使用容錯移轉群組端點的登入嘗試將會失敗。
  3. 在伺服器 A 與 C 之間,使用相同名稱重新建立容錯移轉群組。
  4. 將伺服器 A 上的所有主要資料庫新增至新的容錯移轉群組。 此時,登入嘗試將不再失敗。
  5. 刪除伺服器 B。將自動刪除 B 上的所有資料庫。

變更主要區域

為了說明變更順序,我們會假設伺服器 A 是主要伺服器、伺服器 B 是現有的次要伺服器,而伺服器 C 是第三個區域中的新主要資料庫。 若要進行轉換,請遵循下列步驟:

  1. 執行計劃性異地複寫容錯移轉,將主要伺服器切換至 B。伺服器 A 會成為新的次要伺服器。 容錯移轉可能會導致幾分鐘的停機時間。 實際時間會取決於容錯移轉群組的大小。
  2. 使用作用中異地複寫,為伺服器 B 上的每個資料庫建立額外的次要資料庫至伺服器 C。 伺服器 B 上的每個資料庫都有兩個次要複本,一個在伺服器 A 上,另一個在伺服器 C 上。這可保證在轉換期間主要資料庫維持受保護。
  3. 刪除容錯移轉群組。 此時,使用容錯移轉群組端點的登入嘗試將會失敗。
  4. 在伺服器 B 與 C 之間,使用相同名稱重新建立容錯移轉群組。
  5. 將 B 上的所有主要資料庫新增至新的容錯移轉群組。 此時,登入嘗試將不再失敗。
  6. 執行容錯移轉群組的計劃性異地複寫容錯移轉,以切換 B 和 C。現在,伺服器 C 會成為主要資料庫,B 是次要資料庫。 伺服器 A 上的所有次要資料庫都會自動連結到 C 上的主要資料庫。在步驟 1 中,容錯移轉可能會導致幾分鐘的停機時間。
  7. 刪除伺服器 A。將自動刪除 A 上的所有資料庫。

重要

刪除容錯移轉群組時,也會刪除接聽程式端點的 DNS 記錄。 屆時,其他人便有可能使用相同名稱建立容錯移轉群組或伺服器 DNS 別名。 因為容錯移轉群組名稱和 DNS 別名必須是全域唯一,這會防止您再次使用相同的名稱。 若要將此風險降至最低,請不要使用一般容錯移轉群組名稱。

權限

容錯移轉群組的權限是透過 Azure 角色型存取控制 (Azure RBAC) 來管理

必須有 Azure RBAC 寫入存取權限,才能建立和管理容錯移轉群組。 SQL Server 參與者角色具有管理容錯移轉群組所需的所有必要權限。

下表列出 Azure SQL Database 的特定權限範圍:

動作 權限 範圍
建立容錯移轉群組 Azure RBAC 寫入存取 主要伺服器
次要伺服器
容錯移轉群組中的所有資料庫
更新容錯移轉群組 Azure RBAC 寫入存取 容錯移轉群組
目前主伺服器上的所有資料庫
對容錯移轉群組進行容錯移轉 Azure RBAC 寫入存取 新伺服器上的容錯移轉群組

備註

  • 移除單一或集區資料庫的容錯移轉群組並不會停止複寫,而且不會刪除複寫的資料庫。 如果您想要在單一或集區資料庫移除之後,將其加回容錯移轉群組,則必須手動停止異地複寫,並從次要伺服器中刪除資料庫。 如果未執行此步驟,在嘗試將資料庫新增至容錯移轉群組時,可能會產生類似 The operation cannot be performed due to multiple errors 的錯誤。
  • 自動容錯移轉群組名稱必須遵守命名限制

後續步驟

如需設定容錯移轉群組的詳細步驟,請參閱下列教學課程:

如需 Azure SQL Database 高可用性選項的概觀,請參閱異地複寫自動容錯移轉群組