分享方式:


設定 Azure SQL 資料庫的容錯移轉群組

適用於:Azure SQL 資料庫

本文章將教導您如何使用 Azure 入口網站、Azure PowerShell 和 Azure CLI,為 Azure SQL 資料庫中的單一和集區資料庫設定容錯移轉群組

如需端對端指令,請檢視如何使用 Azure PowerShellAzure CLI 將單一資料庫新增至容錯移轉群組。

必要條件

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

  • 應已建立主要資料庫。 建立單一資料庫以開始使用。
  • 如果您的次要伺服器已存在於與主要伺服器不同的區域中,伺服器登入和防火牆設定必須與主要伺服器的登入和防火牆設定相符。

建立容錯移轉群組

您可以使用 Azure 入口網站、PowerShell 和 Azure CLI,來建立容錯移轉群組並將單一資料庫新增至其中。

重要

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

若要使用 Azure 入口網站建立您的容錯移轉群組,並將您的單一資料庫新增至其中,請執行下列步驟:

  1. 如果您知道裝載資料庫的邏輯伺服器,請在 Azure 入口網站中直接移至此伺服器。 如果您需要尋找伺服器,請執行下列步驟:

    1. 在服務功能表中選取 [Azure SQL]。 如果 [Azure SQL] 不在清單中,請選取 [所有服務],然後在搜尋方塊中鍵入 Azure SQL。 (選用) 選取 [Azure SQL] 旁的星號以將其設為最愛,並新增為服務功能表中的項目。
    2. 在 [Azure SQL] 頁面上,尋找您要新增至容錯移轉群組的資料庫,然後選取它以開啟 [SQL 資料庫] 窗格。
    3. 在 [SQL 資料庫] 的 [概觀] 窗格中,選取 [伺服器名稱] 下的伺服器名稱,以開啟 [SQL Server] 窗格。

    在 Azure 入口網站中開啟單一資料庫的伺服器的螢幕擷取畫面。

  2. 在 [SQL Server] 資源功能表上,選取 [資料管理] 下的 [容錯移轉群組]。 選取 [+ 新增群組] 以開啟 [容錯移轉群組] 頁面,您可以在其中建立新的容錯移轉群組。

    醒目提示 Azure 入口網站中 [容錯移轉群組] 頁面上的 [新增容錯移轉群組] 選項的螢幕擷取畫面。

  3. 在 [容錯移轉群組] 頁面上:

    1. 提供容錯移轉群組名稱
    2. 選擇現有的次要伺服器,或透過選取 [伺服器] 下的 [新建] 來建立新伺服器。 容錯移轉群組的次要伺服器必須與主要伺服器位於不同區域中。
    3. 選取 [設定資料庫] 以開啟 [容錯移轉群組的資料庫] 頁面。

    Azure 入口網站中容錯移轉群組窗格的螢幕擷取畫面。

  4. 在 [容錯移轉群組的資料庫] 頁面上:

    1. 選擇您要新增至容錯移轉群組的資料庫 (螢幕擷取畫面中的 #1)。
    2. (選用) 如果您想要將這些資料庫指定為用於災害復原的待命複本,請選擇 [是] (螢幕擷取畫面中的 #2)。 核取方塊,以確認您將使用待命複本。
    3. 使用 [選取] 來儲存您的資料庫選項,並返回 [容錯移轉群組] 頁面 (在螢幕擷取畫面中看不到)。

    Azure 入口網站中 [容錯移轉群組的資料庫] 窗格的螢幕擷取畫面。

  5. 使用 [容錯移轉群組] 頁面上的 [建立] 來建立容錯移轉群組。

測試規劃的容錯移轉

使用 Azure 入口網站或 PowerShell 在不失去資料的情況下測試容錯移轉群組的容錯移轉。

若要使用 Azure 入口網站測試容錯移轉群組的容錯移轉,請執行下列步驟:

  1. 如果您知道裝載資料庫的邏輯伺服器,請在 Azure 入口網站中直接移至此伺服器。 如果您需要尋找伺服器,請執行下列步驟:

    1. 在服務功能表中選取 [Azure SQL]。 如果 [Azure SQL] 不在清單中,請選取 [所有服務],然後在搜尋方塊中鍵入 Azure SQL。 (選用) 選取 [Azure SQL] 旁的星號以將其設為最愛,並新增為服務功能表中的項目。
    2. 在 [Azure SQL] 頁面上,尋找要測試容錯移轉的資料庫,然後選取它以開啟 [SQL 資料庫] 窗格。
    3. 在 [SQL 資料庫] 的 [概觀] 窗格中,選取 [伺服器名稱] 下的伺服器名稱,以開啟 [SQL Server] 窗格。

    在 Azure 入口網站中開啟單一資料庫的伺服器的螢幕擷取畫面。

  2. 在 [SQL Server] 資源功能表上,選取 [資料管理] 下的 [容錯移轉群組],然後選擇現有的容錯移轉群組以開啟 [容錯移轉群組] 頁面。

    顯示容錯移轉群組的螢幕擷取畫面,您可以在其中選取 SQL Server 的容錯移轉群組。

  3. 在 [容錯移轉群組] 頁面上:

    1. 檢查哪個伺服器是主要的,哪個伺服器是次要的。
    2. 從命令列中選取 [容錯移轉],以容錯移轉包含資料庫的容錯移轉群組。
    3. 在通知您 TDS 工作階段將中斷的警告上,選取 [是]。

    Azure 入口網站中的 [容錯移轉群組] 的螢幕擷取畫面,其中選取了容錯移轉。

  4. 檢查哪個伺服器現在是主要的,哪個伺服器是次要的。 容錯移轉成功後,這兩部伺服器會交換角色,讓先前的主要伺服器成為次要伺服器。

  5. (選用) 再次選取 [容錯移轉],讓伺服器容錯回復至原始角色。

如需端對端指令,請檢視如何使用 Azure PowerShellAzure CLI 新增彈性集區至容錯移轉群組。

必要條件

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

  • 您的主要彈性集區應已存在。 建立彈性集區以便開始使用。
  • 如果次要伺服器已存在,此伺服器登入和防火牆設定必須與主要伺服器的登入和防火牆設定相符。

建立容錯移轉群組

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

重要

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

若要使用 Azure 入口網站建立您的容錯移轉群組,並將您的彈性集區新增至其中,請執行下列步驟:

  1. 移至 Azure 入口網站中的建立 SQL 彈性集區頁面。 建立彈性集區:

    • 具有與主要伺服器上的彈性集區相同的名稱。
    • 使用您想要用於容錯移轉群組的次要伺服器。 次要伺服器必須在與主要伺服器不同的區域中,次要伺服器登入和防火牆設定必須與主要伺服器的登入和防火牆設定相符。 如果次要伺服器不存在,請建立新的伺服器。
  2. 如果您知道裝載主要彈性集區的邏輯伺服器,請在 Azure 入口網站中直接移至此伺服器。 如果您需要尋找伺服器,請執行下列步驟:

    1. 在服務功能表中選取 [Azure SQL]。 如果 [Azure SQL] 不在清單中,請選取 [所有服務],然後在搜尋方塊中鍵入 Azure SQL。 (選用) 選取 [Azure SQL] 旁的星號以將其設為最愛,並新增為服務功能表中的項目。
    2. 在 [Azure SQL] 頁面上,尋找您要新增至容錯移轉群組的彈性集區,然後選取它以開啟 [SQL 彈性集區] 窗格。
    3. 在 [SQL 彈性集區] 的 [概觀] 窗格中,選取 [伺服器名稱] 下的伺服器名稱,以開啟 [SQL Server] 窗格。

    在 Azure 入口網站中選取彈性集區的伺服器的螢幕擷取畫面。

  3. 在 [SQL Server] 資源功能表上,選取 [資料管理] 下的 [容錯移轉群組]。 選取 [+ 新增群組] 以開啟 [容錯移轉群組] 頁面,您可以在其中建立新的容錯移轉群組。

    Azure 入口網站中 [容錯移轉群組] 頁面的螢幕擷取畫面。

  4. 在 [容錯移轉群組] 頁面上:

    1. 提供容錯移轉群組名稱
    2. 選擇現有的次要伺服器。 容錯移轉群組中的次要伺服器必須與主要伺服器位於不同區域中,且包含與主要伺服器同名的彈性集區。
    3. 選取 [設定資料庫] 以開啟 [容錯移轉群組的資料庫] 頁面。

    Azure 入口網站中 [將彈性集區新增至容錯移轉群組] 的螢幕擷取畫面。

  5. 在 [容錯移轉群組的資料庫] 頁面上,選擇您要新增至容錯移轉群組的集區資料庫。 使用 [選取] 來儲存您的資料庫選項,並返回 [容錯移轉群組] 頁面。

    Azure 入口網站中 [容錯移轉群組的資料庫] 窗格的螢幕擷取畫面。

  6. 選取 [容錯移轉群組] 頁面上的 [建立] 來建立容錯移轉群組。 將彈性集區新增至容錯移轉群組,會自動啟動異地複寫程序。

測試規劃的容錯移轉

使用 Azure 入口網站、PowerShell 或 Azure CLI 在不遺失資料的情況下測試彈性集區的容錯移轉。

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

  1. 如果您知道裝載主要彈性集區的邏輯伺服器,請在 Azure 入口網站中直接移至此伺服器。 如果您需要尋找伺服器,請執行下列步驟:

    1. 在服務功能表中選取 [Azure SQL]。 如果 [Azure SQL] 不在清單中,請選取 [所有服務],然後在搜尋方塊中鍵入 Azure SQL。 (選用) 選取 [Azure SQL] 旁的星號以將其設為最愛,並新增為服務功能表中的項目。
    2. 在 [Azure SQL] 頁面上,尋找您要新增至容錯移轉群組的彈性集區,然後選取它以開啟 [SQL 彈性集區] 窗格。
    3. 在 [SQL 彈性集區] 的 [概觀] 窗格中,選取 [伺服器名稱] 下的伺服器名稱,以開啟 [SQL Server] 窗格。

    在 Azure 入口網站中選取彈性集區的伺服器的螢幕擷取畫面。

  2. 在 [SQL Server] 資源功能表上,選取 [資料管理] 下的 [容錯移轉群組],然後選擇現有的容錯移轉群組以開啟 [容錯移轉群組] 頁面。

    顯示容錯移轉群組的螢幕擷取畫面,您可以在其中選取 SQL Server 的容錯移轉群組。

  3. 在 [容錯移轉群組] 頁面上:

    1. 檢查哪個伺服器是主要的,哪個伺服器是次要的。
    2. 從命令列中選取 [容錯移轉],以容錯移轉包含資料庫的容錯移轉群組。
    3. 在通知您 TDS 工作階段將中斷的警告上,選取 [是]。

    在 Azure 入口網站中的 [容錯移轉群組] 頁面上選取容錯移轉的螢幕擷取畫面。

  4. 檢查哪個伺服器現在是主要的,哪個伺服器是次要的。 容錯移轉成功後,這兩部伺服器會交換角色,讓先前的主要伺服器成為次要伺服器。

  5. (選用) 再次選取 [容錯移轉],讓伺服器容錯回復至原始角色。

修改現有的容錯移轉群組

您可以使用 Azure 入口網站、PowerShell 和 Azure CLI 從現有容錯移轉群組中新增或移除資料庫,或編輯容錯移轉群組組態設定。

若要使用 Azure 入口網站對現有容錯移轉群組進行變更,請執行下列步驟:

  1. 如果您知道裝載資料庫或彈性集區的邏輯伺服器,請在 Azure 入口網站中直接移至此伺服器。 如果您需要尋找伺服器,請執行下列步驟:

    1. 在服務功能表中選取 [Azure SQL]。 如果 [Azure SQL] 不在清單中,請選取 [所有服務],然後在搜尋方塊中鍵入 Azure SQL。 (選用) 選取 [Azure SQL] 旁的星號以將其設為最愛,並新增為服務功能表中的項目。
    2. 在 [Azure SQL] 頁面上,尋找您想要修改的資料庫或彈性集區,然後選取它以開啟 [SQL 資料庫] 或 [SQL 彈性集區] 窗格。
    3. 在 [SQL 資料庫] 或 [SQL 彈性集區] 的 [概觀] 窗格中,選取 [伺服器名稱] 下的伺服器名稱,以開啟 [SQL Server] 窗格。
  2. 在 [SQL Server] 資源功能表上,選取 [資料管理] 下的 [容錯移轉群組],然後選擇現有的容錯移轉群組以開啟 [容錯移轉群組] 頁面。

    顯示容錯移轉群組的螢幕擷取畫面,您可以在其中選取 SQL Server 的容錯移轉群組。

  3. 在 [容錯移轉群組] 頁面上,使用命令列:

    1. 若要新增資料庫,請選取 [新增資料庫] 以開啟 [將資料庫新增至容錯移轉群組] 窗格,然後展開 [#Databases],以顯示主要伺服器上的資料庫清單。 核取您要新增至容錯移轉群組的資料庫旁邊的方塊,然後使用 [選取] 以儲存變更並新增資料庫。
    2. 若要移除資料庫,請選取 [移除資料庫] 以開啟 [從容錯移轉群組移除資料庫] 窗格,然後展開 [#Databases] 以列出容錯移轉群組中的資料庫。 核取您要從容錯移轉群組中移除的資料庫旁邊的方塊,然後使用 [選取] 以儲存變更並移除資料庫。
    3. 若要編輯容錯移轉原則,或設定寬限期,請選取 [編輯組態] 以開啟 [編輯組態容錯移轉群組] 窗格並修改您的設定。 使用 [選取] 以儲存您的變更。

    Azure 入口網站中 [容錯移轉群組] 頁面的螢幕擷取畫面,其中醒目提示了命令列。

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

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

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

尋找接聽程式端點

設定容錯移轉群組之後,更新應用程式的連接字串,以指向讀取/寫入接聽程式端點,讓應用程式能夠在容錯移轉後繼續連線至主要資料庫。 藉由使用接聽程式端點,您就不需在每次容錯移轉群組容錯移轉時手動更新連接字串,因為一律會將流量路由傳送至目前的主要資料庫。 您也可以將唯讀工作負載指向唯讀接聽程式端點。

若要在 Azure 入口網站中找出接聽程式端點,請移至 Azure 入口網站中的邏輯伺服器,然後在 [資料管理] 底下選取 [容錯移轉群組]。 選取您感興趣的容錯移轉群組。

向下捲動以尋找接聽程式端點:

  • 形式為 fog-name.database.windows.net讀取/寫入接聽程式端點,會將流量路由傳送至主要資料庫。
  • 形式為 fog-name.secondary.database.windows.net唯讀接聽程式端點,會將流量路由傳送至次要資料庫。

顯示 Azure 入口網站中 [容錯移轉群組] 頁面上的容錯移轉群組連接字串的螢幕擷取畫面。

調整容錯移轉群組中的資料庫

您可以將主要資料庫擴大或縮小至不同的計算大小 (在相同的服務層級內),而不需要中斷任何異地次要資料庫的連線。 擴大時,建議先擴大異地次要資料庫,再擴大主要資料庫。 縮小時,則反轉順序:先縮小主要資料庫,再縮小次要資料庫。 當您將資料庫擴展到不同的服務層級時,會強制執行這項建議。

建議您特別注意此順序,以避免較低 SKU 的異地複寫次要資料庫發生超載,而必須在升級或降級程序期間重新植入的問題。 您也可以將主要資料庫狀態設為唯讀,以此方式影響對主要資料庫的所有讀寫工作負載,來避免此問題。

注意

如果您在容錯移轉群組設定中建立了異地次要資料庫,不建議您縮小異地次要資料庫。 這是為了確保資料層在異地容錯移轉啟動之後,有足夠的容量來處理一般工作負載。 若先前的異地主要資料庫因中斷情況而無法使用,則未規劃容錯移轉後可能無法縮放異地次要資料庫。 這是已知限制。

除非次要資料庫先調整為較高的層級,否則容錯移轉群組中的主要資料庫無法調整為較高的服務層級 (版本)。 例如,如果想要將主要資料庫從一般用途擴大為商務關鍵,您必須先將異地次要資料庫調整為商務關鍵。 如果您嘗試以違反此規則的方式縮放主要或異地次要資料庫,則會收到下列錯誤:

The source database 'Primaryserver.DBName' cannot have higher edition than the target database 'Secondaryserver.DBName'. Upgrade the edition on the target before upgrading the source.

防止重要資料遺失

由於廣域網路有高度延遲情況,因此異地複寫會採用非同步複寫機制。 如果主要資料庫故障,則非同步複寫無可避免會遺失一些資料。 若要保護重要交易資料不要遺失,應用程式開發人員可以在認可交易後立即呼叫 sp_wait_for_database_copy_sync 預存程序。 呼叫 sp_wait_for_database_copy_sync 會封鎖呼叫執行緒,直到最後認可的交易已傳輸和強行寫入次要資料庫交易記錄為止。 不過,此動作不會等候已傳輸的交易在次要資料庫上重新執行 (重做)。 sp_wait_for_database_copy_sync 的範圍限定為特定異地複寫連結。 任何具備主要資料庫連接權限的使用者都可以呼叫此程序。

注意

sp_wait_for_database_copy_sync 可防止特定交易在異地容錯移轉之後資料遺失,但是不保證讀取權限的完整同步處理。 sp_wait_for_database_copy_sync 程序呼叫所造成的延遲可能會相當明顯,且取決於呼叫時主要資料庫上尚未傳輸的交易記錄大小。

變更次要區域

為了說明變更順序,我們會假設伺服器 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 別名必須是全域唯一,這會防止您再次使用相同的名稱。 若要將此風險降至最低,請不要使用一般容錯移轉群組名稱。

容錯移轉群組和網路安全性

針對某些應用程式,需要資料層網路存取的安全性規則會限制為特定元件或元件 (例如 VM、Web 服務等)。此需求代表的是對商務持續性設計和容錯移轉群組的使用帶來一些挑戰。 實作這類限制的存取權時,請考慮下列選項。

使用容錯移轉群組和虛擬網路服務端點

如果您使用虛擬網路服務端點和規則來限制存取您的資料庫,請留意每個虛擬網路服務端點只適用於一個 Azure 區域。 端點無法讓其他區域接受來自子網路的通訊。 因此,只有部署到相同區域中的用戶端應用程式可以連線到主要資料庫。 因為異地複寫容錯移轉會導致 SQL Database 用戶端工作階段重新路由至不同 (次要) 區域中的伺服器,所以如果這些工作階段是來自該區域外的用戶端,可能就會失敗。 基於這個理由,如果參與的伺服器或執行個體包含在虛擬網路規則中,則無法啟用 Microsoft 管理的容錯移轉原則。 若要支援手動容錯移轉原則,請遵循下列步驟:

  1. 在次要區域中佈建您應用程式 (Web 服務、虛擬機器等) 前端元件的備援複本。
  2. 分別設定主要和次要伺服器的虛擬網路規則
  3. 啟用使用流量管理員設定的前端容錯移轉
  4. 偵測到中斷情況時,起始手動異地複寫容錯移轉。 這個選項最適合用於在前端和資料層之間需要一致延遲的應用程式,且支援當前端、資料層或兩者受到中斷影響時進行復原。

注意

如果您使用唯讀接聽程式對唯讀工作負載進行負載平衡,請確保此工作負載會在 VM 或是次要地區的其他資源中執行,使其得以連線到次要資料庫。

使用容錯移轉群組和防火牆規則

如果您的商務持續性計劃需要使用具有容錯移轉的容錯移轉群組,可以使用公用 IP 防火牆規則,來限制對您 SQL Database 中的存取。 此設定可確保異地複寫容錯移轉不會封鎖來自前端元件的連線,並假設應用程式可以容忍前端與資料層之間較長的延遲。

若要支援容錯移轉群組容錯移轉,請遵循下列步驟:

  1. 建立公用 IP
  2. 建立公用負載平衡器並為其指派公用 IP。
  3. 建立虛擬網路和虛擬機器以用於前端元件。
  4. 建立網路安全性群組並設定輸入連線。
  5. 使用 Sql.<Region> 服務標籤,確保輸出連線對區域中的 Azure SQL 資料庫開啟。
  6. 建立 SQL Database 防火牆規則以允許您在步驟 1 中所建立公用 IP 位址的輸入流量。

如需如何設定輸出存取,以及在防火牆規則中使用哪些 IP 的相關詳細資訊,請參閱負載平衡器輸出連線

重要

若要保證區域性中斷期間的商務持續性,您必須確定前端元件與資料庫的異地備援。

權限

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

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

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

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

限制

請留意以下限制:

  • 無法在相同 Azure 區域中的兩個伺服器之間建立容錯移轉群組。
  • 容錯移轉群組支援將群組中的所有資料庫都只異地複寫到不同區域的一部次要邏輯伺服器中。
  • 無法重新命名容錯移轉群組。 您將需要刪除群組,並使用不同的名稱重新建立。
  • 容錯移轉群組中的資料庫不支援資料庫重新命名。 您將需要暫時刪除容錯移轉群組,才能重新命名資料庫,或從容錯移轉群組中移除資料庫。
  • 移除單一或集區資料庫的容錯移轉群組並不會停止複寫,而且不會刪除複寫的資料庫。 如果您曾想要在單一或集區資料庫移除之後,將其加回容錯移轉群組,則必須手動停止異地複寫,並從次要伺服器中刪除資料庫。 如果未執行此步驟,在嘗試將資料庫新增至容錯移轉群組時,可能會產生類似 The operation cannot be performed due to multiple errors 的錯誤。
  • 容錯移轉群組名稱必須遵守命名限制
  • 在建立新的容錯移轉群組時,或將資料庫新增至現有容錯移轉群組時,您只能在使用 Azure 入口網站時將資料庫指定為待命複本 - Azure PowerShell 和 Azure CLI 目前無法使用。

以程式設計方式管理容錯移轉群組

您也可以使用 Azure PowerShell、Azure CLI 和 REST API,以程式設計方式管理容錯移轉群組。 下表描述可用的命令集。 容錯移轉群組包含一組可管理的 Azure Resource Manager API,包括 Azure SQL 資料庫 REST APIAzure PowerShell Cmdlet。 這些 API 需要使用資源群組,並支援 Azure 角色型存取控制 (Azure RBAC)。 如需如何實作存取角色的詳細資訊,請參閱 Azure 角色型存取控制 (Azure RBAC)

Cmdlet 描述
New-AzSqlDatabaseFailoverGroup 此命令會建立容錯移轉群組,並同時在主要和次要伺服器上註冊
Add-AzSqlDatabaseToFailoverGroup 將一或多個資料庫新增至容錯移轉群組
Remove-AzSqlDatabaseFromFailoverGroup 從容錯移轉群組中移除一或多個資料庫
Remove-AzSqlDatabaseFailoverGroup 從伺服器移除容錯移轉群組
Get-AzSqlDatabaseFailoverGroup 擷取容錯移轉群組的設定
Set-AzSqlDatabaseFailoverGroup 修改容錯移轉群組的設定
Switch-AzSqlDatabaseFailoverGroup 觸發容錯移轉群組容錯移轉至次要伺服器

注意

Az.SQL 3.11.0 開始,您可以使用 Azure Powershell 中的 -PartnerSubscriptionId 參數,跨訂用帳戶部署容錯移轉群組。 若要深入了解,請檢閱下列範例