使用Azure 入口網站為 Azure VM 上的SQL Server設定多個子網可用性群組 (預覽)

適用于:Azure VM 上的SQL Server

提示

藉由在相同 Azure 虛擬網路內的多個子網中,建立SQL Server虛擬機器 (VM) ,以消除Always On可用性群組的 Azure 負載平衡器需求。

本文說明如何使用Azure 入口網站,藉由建立下列命令,在多個子網的 Azure VM 上設定SQL Server可用性群組:

  • 具有 SQL Server 的新虛擬機器。
  • Windows 容錯移轉叢集。
  • 可用性群組。
  • 接聽程式。

注意

此部署方法目前為預覽狀態。 它支援 Windows Server 2016 和更新版本SQL Server 2016 和更新版本。

透過入口網站部署多個子網可用性群組,可為使用者提供簡單的端對端體驗。 它會遵循 高可用性和災害復原的最佳作法, (HADR) 來設定虛擬機器。

雖然本文使用 Azure 入口網站 來設定可用性群組環境,但您也可以手動執行此動作。

注意

您可以使用 Azure Migrate 將可用性群組解決方案隨即轉移至 Azure VM 上的SQL Server。 若要深入瞭解,請參閱 移轉可用性群組

必要條件

若要使用 Azure 入口網站 來設定Always On可用性群組,您必須具備下列必要條件:

  • Azure 訂用帳戶

  • 資源群組

  • 虛擬網路

  • 相同虛擬網路中的網域控制站 VM

  • 下列帳戶許可權:

    • 網域管理員使用者帳戶,具有網域中的 建立電腦物件 許可權。 此使用者將會建立叢集和可用性群組,並安裝SQL Server。

      例如,網域系統管理員帳戶 (account@domain.com) 通常有足夠的許可權。 此帳戶也應該屬於建立叢集的每個 VM 上的本機系統管理員群組一部分。

    • 要控制SQL Server的網域SQL Server服務帳戶。 對於您想要新增至可用性群組的每個SQL Server VM,這應該是相同的帳戶。

選擇Azure Marketplace映射

使用Azure Marketplace從虛擬機器資源庫選擇數個預先設定的映射之一:

  1. 在Azure 入口網站的左側功能表上,選取[Azure SQL]。 如果Azure SQL不在清單中,請選取 [所有服務],在搜尋方塊中輸入Azure SQL,然後選取結果。

  2. 選取 [+ 建立] 以開啟 [ 選取 SQL 部署選項 ] 窗格。

  3. [SQL 虛擬機器] 下,選取 [ 高可用性 ] 核取方塊。 在[映射]方塊中,輸入您感興趣的 SQL Server (版本,例如2019) ,然後選擇SQL Server映射 (,例如免費SQL Server授權:Windows Server 2019) 上的 SQL 2019 Developer

    選取 [高可用性] 核取方塊之後,入口網站會顯示支援的SQL Server版本,從 SQL Server 2016 開始。

    Azure 入口網站的螢幕擷取畫面,其中顯示選取SQL Server部署選項的頁面,並已選取高可用性。

  4. 選取 [建立]。

選擇基本設定

在 [ 基本] 索引 標籤上,選取訂用帳戶和資源群組。 此外,請提供您要為可用性群組建立的SQL Server實例詳細資料。

  1. 從下拉式清單中,選擇包含網域控制站的訂用帳戶和資源群組,以及您想要部署可用性群組的位置。

    Azure 入口網站的螢幕擷取畫面,其中顯示用於指定訂用帳戶和資源群組的方塊。

  2. 使用滑杆來選取您要為可用性群組建立的虛擬機器數目。 最小值為 2,最大值為 9。 虛擬機器名稱已預先填入,但您可以選取 [ 編輯名稱] 加以編輯。

    Azure 入口網站的螢幕擷取畫面,其中顯示用來選取虛擬機器數目的滑杆,以及編輯名稱的選項。

  3. 針對 [區域],選取區域。 所有 VM 都會部署到相同的區域。

  4. 針對 [可用性],選取 [ 可用性區域 ] 或 [ 可用性設定組]。 如需可用性選項的詳細資訊,請參閱 可用性

  5. 針對 [安全性類型],選取 [ 標準 ] 或 [ 受信任的啟動]。

  6. [映射] 區域會顯示所選SQL Server VM 映射。 選取 [設定 VM 產生 ] 以選擇 VM 產生。

  7. 選取 [查看虛擬機器大小的所有大小 ]。 所有建立的 VM 大小都會相同。 針對生產工作負載,請參閱Azure VM 上SQL Server效能最佳做法中建議的機器大小和組態。

  8. [虛擬機器系統管理員帳戶] 下,提供使用者名稱和密碼。 密碼必須至少有 12 個字元,且符合 定義的複雜度需求。 此帳戶將會是 VM 的系統管理員。

  9. [SQL Server授權] 下,您可以選擇讓Azure Hybrid Benefit自備SQL Server授權,並節省授權成本。 只有在您是軟體保證客戶時,才能使用此選項。

    如果您想要啟用Azure Hybrid Benefit,請選取 [],然後選取核取方塊以確認您有軟體保證。 如果您選取其中一個免費的SQL Server映射,例如開發人員版本,則無法使用此選項。

    顯示SQL Server授權和Azure Hybrid Benefit相關資訊的Azure 入口網站螢幕擷取畫面。

  10. 選取 [下一步:網路]

選擇網路設定

在 [ 網路] 索引 標籤上,設定您的網路選項:

  1. 從下拉式清單中選取虛擬網路。 清單會根據您先前在 [ 基本 ] 索引標籤上選擇的區域和資源群組預先填入。選取的虛擬網路應該包含網域控制站 VM。

  2. [NIC 網路安全性群組] 底下,選取 [ 基本]。 選擇基本安全性群組可讓您選取SQL Server VM 的輸入埠。

  3. 視需要選取 [允許選取的埠] 來設定公用輸入埠。 然後使用下拉式清單來選取允許的常見埠。

    顯示 NIC 和其他網路設定之Azure 入口網站的螢幕擷取畫面。

  4. 您建立的每個虛擬機器都必須位於自己的子網中。

    [建立子網] 下,選取 [ 管理子網組態 ] 以開啟虛擬網路的 [ 子網 ] 窗格。 然後,針對每個虛擬機器建立子網 (+子網) ,或驗證您要為可用性群組建立的每個虛擬機器都可使用子網。

    當您完成時,請使用 X 關閉子網管理窗格,並返回頁面以部署可用性群組。

    顯示虛擬網路子網管理窗格之Azure 入口網站的螢幕擷取畫面。

  5. 選擇 公用 IP SKU 類型。 所有機器都會使用此公用 IP 類型。

  6. 使用下拉式清單,將子網、公用 IP 位址和接聽程式 IP 位址指派給您要建立的每個 VM。 如果您使用Windows Server 2016映射,則也需要指派叢集 IP 位址。

    當您將子網指派給虛擬機器時,接聽程式和叢集方塊會預先填入可用的 IP 位址。 如果您想要編輯 IP 位址,請將游標放在方塊中。 如果您需要建立新的 IP 位址,請選取 [新建]。

    顯示設定子網和 IP 位址頁面之Azure 入口網站螢幕擷取畫面。

  7. 如果您想要在刪除 VM 時刪除新建立的公用 IP 位址和 NIC,請選取核取方塊。

  8. 選取 [下一步:WSFC] 和 [認證]。

選擇容錯移轉叢集設定

在 [WSFC 和認證]索引標籤上,提供帳戶資訊來設定和管理 Windows Server 容錯移轉叢集和SQL Server。

若要讓部署能夠運作,所有帳戶都必須已存在於網域控制站 VM 的 Active Directory 中。 此部署程式不會建立任何帳戶,而且如果您提供不正確帳戶,將會失敗。 如需必要許可權的詳細資訊,請參閱 在 Active Directory 中設定叢集帳戶

  1. [Windows Server 容錯移轉叢集詳細資料] 下,提供您要用於容錯移轉叢集的名稱。

  2. 從下拉式清單中,選取您要用於雲端見證的儲存體帳戶。 如果不存在,請選取 [建立新的儲存體帳戶]。

  3. [Windows Active Directory 網域詳細資料] 下:

    • 針對[加入網域使用者名稱和網域加入密碼],輸入在 Active Directory 中建立 Windows Server 容錯移轉叢集名稱的帳號憑證,並將 VM 加入網域。 此帳戶必須具有建立電腦物件使用權限

    • 針對 [網域 FQDN],輸入完整功能變數名稱,例如 contoso.com

    • 針對 [Ou 路徑],輸入組織單位 (使用 Active Directory 的 OU) 路徑。

    顯示 Windows Active Directory 網域詳細資料之Azure 入口網站螢幕擷取畫面。

  4. [SQL Server詳細資料] 下,提供您想要用來管理 VM 上SQL Server的已加入網域帳戶。 您可以選擇使用建立叢集並將 VM 加入網域的相同使用者,方法是選擇 [ 與網域加入帳戶相同]。 或者,您可以選取[自訂],並提供不同的帳戶詳細資料,以搭配SQL Server服務帳戶使用。

    顯示SQL Server服務帳戶相關資訊之Azure 入口網站螢幕擷取畫面。

  5. 完成時,選取 [下一步: 磁碟]。

選擇磁片設定

在 [磁片] 索引標籤上,為您的虛擬機器和SQL Server儲存體設定設定磁片選項:

  1. [OS 磁片類型] 底下,選取您想要用於作業系統的磁片類型。 我們建議針對生產系統使用 Premium,但不適用於基本 VM。 若要使用進階 SSD,請變更虛擬機器大小。

  2. 選取磁片的 加密類型 值。

  3. [儲存體組態] 底下,選取 [變更 設定] 以開啟 [ 設定儲存體 ] 窗格,並指定儲存體需求。 您可以選擇保留預設值,也可以手動變更儲存體拓撲,以符合每秒輸入/輸出作業的需求, (IOPS) 。 如需詳細資訊,請參閱設定SQL Server VM 的儲存體

    顯示目前儲存體組態和變更設定按鈕之Azure 入口網站螢幕擷取畫面。

  4. 在 [資料儲存體] 底下,選擇資料磁碟機的位置、磁碟類型和磁碟數目。 您也可以選取核取方塊,將系統資料庫儲存在資料磁片磁碟機上,而不是本機 C 磁片磁碟機。

    顯示資料儲存體組態設定的Azure 入口網站螢幕擷取畫面。

  5. [記錄儲存體] 底下,您可以選擇使用與交易記錄檔資料磁片磁碟機相同的磁片磁碟機,或者您可以從下拉式清單中選取另一個磁片磁碟機。 您也可以選擇磁碟機的名稱、磁碟類型,以及磁碟數目。

    顯示記錄儲存體組態設定的Azure 入口網站螢幕擷取畫面。

  6. TempDb 儲存體下,設定您的 tempdb 資料庫設定。 選擇包括資料庫檔案的位置、檔案數目、初始大小,以及以 MB 為單位的自動成長大小。

    目前,在部署期間,檔案數目 tempdb 上限為 8。 但在部署SQL Server VM 之後,您可以新增更多檔案。

    顯示 tempdb 儲存體組態設定的Azure 入口網站螢幕擷取畫面。

  7. 選取 [確定] 以儲存您的儲存體組態設定。

  8. 選取[下一步]:SQL Server設定

選擇SQL Server設定

[SQL Server設定] 索引標籤上,設定SQL Server和可用性群組的特定設定和優化:

  1. [可用性群組詳細資料] 下:

    1. 提供可用性群組和接聽程式的名稱。

    2. 針對要建立的每個虛擬機器,選取 [ 主要 ] 或 [ 次要] 角色。

    3. 選擇最適合您業務需求的可用性群組設定。

    顯示可用性群組詳細資料之Azure 入口網站螢幕擷取畫面。

  2. [安全性 & 網路]底下,選取[SQL 連線能力] 以存取 VM 上的SQL Server實例。 如需連線選項的詳細資訊,請參閱 連線能力

  3. 如果您需要SQL Server驗證,請選取[SQL Server驗證] 底下的[啟用],並提供登入名稱和密碼。 這些認證將用於您要部署的所有 VM。 如需驗證選項的詳細資訊,請參閱 驗證

  4. 針對Azure 金鑰保存庫整合,如果您想要使用 Azure 金鑰保存庫來儲存安全性密碼以進行加密,請選取 [啟用]。 然後,填寫要求的資訊。 若要深入瞭解,請參閱Azure 金鑰保存庫整合

  5. 選取[變更 SQL 實例設定] 以修改SQL Server組態選項。 這些選項包括伺服器定序、最大平行處理原則的程度 (MAXDOP) 、最小和最大記憶體,以及您是否要針對臨機操作工作負載進行優化。

    顯示SQL Server實例設定的Azure 入口網站螢幕擷取畫面,以及用來變更它們的按鈕。

  6. 您可以選擇啟用 Machine Learning 服務,如果它符合您的業務需求。

  7. 選取 [檢閱 + 建立] 。

  8. 在 [ 檢閱 + 建立] 索引 標籤上,檢閱摘要。 然後選取 [建立 ] 以建立 SQL Server、容錯移轉叢集、可用性群組和接聽程式。

    如有需要,您可以選取 [下載自動化的範本]。

您可以從 Azure 入口網站監視部署。 畫面頂端的 [ 通知] 按鈕會顯示部署的基本狀態。

部署完成後,您可以在入口網站中流覽至 SQL 虛擬機器資源 。 在 [ 設定] 底下,選取 [ 高可用性 ] 以監視可用性群組的健康情況。 選取可用性群組名稱旁的箭號,以查看所有複本的清單。

顯示可用性群組健康情況的Azure 入口網站螢幕擷取畫面,此群組目前狀況不良。

注意

Azure 入口網站的[高可用性] 頁面上的[同步處理健康情況] 會顯示 [狀況不良],直到您將資料庫新增至可用性群組為止。

設定防火牆

此部署會在埠 5022 上為接聽程式建立防火牆規則,但不會針對SQL Server VM 埠 1433 設定防火牆規則。 建立虛擬機器之後,您可以設定任何防火牆規則。 如需詳細資訊,請參閱 設定防火牆

將資料庫新增至可用性群組

在部署完成後,將資料庫新增至可用性群組。 下列步驟使用 SQL Server Management Studio,但您也可以使用Transact-SQL 或 PowerShell

  1. 使用慣用的方法連線到其中一個SQL Server VM,例如遠端桌面連線 (RDP) 。 在所有SQL Server實例上使用系統管理員固定伺服器角色成員的網域帳戶。

  2. 開啟 SQL Server Management Studio。

  3. 連線至 SQL Server 執行個體。

  4. 物件總管中,展開[Always On高可用性]。

  5. 展開 [可用性群組],以滑鼠右鍵按一下您的可用性群組,然後選取 [ 新增資料庫]。

    顯示將資料庫新增至可用性群組之選取專案的SQL Server Management Studio螢幕擷取畫面。

  6. 請依照提示選取您要新增至可用性群組的資料庫。

  7. 選取 [確定 ] 以儲存您的設定並新增資料庫。

  8. 重新整理物件總管以確認資料庫的狀態為 synchronized

新增資料庫之後,您可以在Azure 入口網站中檢查可用性群組,並確認狀態為[狀況良好]。

顯示可用性群組健康情況的Azure 入口網站螢幕擷取畫面,此群組目前狀況良好。

修改可用性群組

透過入口網站部署可用性群組之後,必須手動完成可用性群組的所有變更。 如果您想要移除複本,您可以透過 SQL Server Management Studio 或 Transact-SQL 來執行此動作,然後透過 Azure 入口網站 刪除 VM。 如果您想要新增複本,您必須手動將虛擬機器部署至資源群組、將它加入網域,並像您在傳統內部部署環境中一樣 新增複 本。

移除叢集

您可以使用最新版的 Azure CLI 或 PowerShell 來移除叢集。

首先,從叢集中移除所有 SQL Server VM:

# Remove the VM from the cluster metadata
# example: az sql vm remove-from-group --name SQLVM2 --resource-group SQLVM-RG

az sql vm remove-from-group --name <VM1 name>  --resource-group <resource group name>
az sql vm remove-from-group --name <VM2 name>  --resource-group <resource group name>

如果您移除的SQL Server VM 是唯一位於叢集中的 VM,則會終結叢集。 如果任何其他 VM 保留在叢集中,則不會移除這些 VM,而且不會終結叢集。

接下來,從 SQL IaaS 代理程式延伸模組中移除叢集中繼資料:

# Remove the cluster from the SQL VM RP metadata
# example: az sql vm group delete --name Cluster --resource-group SQLVM-RG

az sql vm group delete --name <cluster name> --resource-group <resource group name>

疑難排解

如果您遇到問題,您可以檢查部署歷程記錄,然後檢閱常見的錯誤及其解決方式。

透過入口網站變更叢集和可用性群組會透過部署進行。 如果建立或上線叢集或建立可用性群組時發生問題,部署歷程記錄可以提供更詳細的資料。

若要檢視部署的記錄,並檢查部署歷程記錄:

  1. 登入 Azure 入口網站

  2. 移至您的資源群組。

  3. 在 [ 設定] 底下,選取 [ 部署]。

  4. 選取感興趣的部署以深入瞭解。

    顯示部署清單中失敗可用性群組部署之Azure 入口網站的螢幕擷取畫面。

如果部署失敗,而且您想要使用入口網站重新部署,您需要手動清除資源,因為透過入口網站的部署不是等冪的 (可重複) 。 這些清除工作包括刪除 VM,以及移除 Active Directory 和/或 DNS 中的專案。 不過,如果您使用Azure 入口網站來建立範本來部署可用性群組,然後使用範本進行自動化,則不需要清除資源,因為範本是等冪的。

下一步

部署可用性群組之後,請考慮優化Azure VM 上SQL Server的 HADR 設定

若要深入了解,請參閱: