使用 Azure Stack Hub 建立高可用性 SQL 資料庫

重要

從 Azure Stack Hub 組建 2108 開始,提供 SQL 和 MySQL 資源提供者授與存取權的訂用帳戶。 若要開始使用這項功能,或需要從舊版升級,請提交支援案例,我們的支援工程師會引導您完成部署或升級流程。

如果您是 Azure Stack Hub 操作員,便可設定讓伺服器 VM 裝載 SQL 伺服器資料庫。 在 SQL 主控伺服器建立並受 Azure Stack Hub 管理之後,已訂閱 SQL 服務的使用者便可輕鬆建立 SQL 資料庫。

本文說明如何使用 Azure Stack Hub 快速入門範本建立 SQL Server AlwaysOn 可用性群組、將其新增為「Azure Stack Hub SQL 主控伺服器」,然後建立高可用性 SQL 資料庫。

您將學到什麼:

  • 從範本建立 SQL Server AlwaysOn 可用性群組。
  • 將 SQL Server AlwaysOn 可用性群組設定為 Azure Stack Hub SQL 主控伺服器。
  • 建立高可用性 SQL 資料庫。

我們將使用可用的 Azure Stack Marketplace 項目來建立並設定一個有兩部 VM 的 SQL Server AlwaysOn 可用性群組。

開始作業之前,請確定已成功安裝 SQL Server 資源提供者,且 Azure Stack Marketplace 中已有下列項目:

重要

必須備妥下列各項,才能使用 Azure Stack Hub 快速入門範本。

  • Windows Server 2016 Datacenter。

  • Windows Server 2016 上的 SQL Server 2016 SP1 或 SP2 (Enterprise 或 Developer) 伺服器映像。

    注意

    不支援 Standard 版本。 使用 SQL Server Standard 版本設定 SQL Server AlwaysOn 可用性群組時,一個可用性群組只能建立一個資料庫。 這項限制使得 Standard 版本不適合我們的情節。 如需詳細資訊,請參閱此處的文件。

  • SQL Server IaaS 延伸模組 1.3.20180 版或更新版本。 「SQL IaaS 延伸模組」會安裝所有 Windows 版本之 Marketplace SQL Server 項目所需的必要元件。 並可讓您在 SQL 虛擬機器 (VM) 上設定 SQL 特定的設定。 如果未在本機市集安裝此延伸模組,SQL 的佈建就會失敗。

若要深入了解如何將項目新增至 Azure Stack Marketplace,請參閱 Azure Stack Hub Marketplace 概觀

建立 SQL Server AlwaysOn 可用性群組

請使用本節中的步驟,運用 sql-2016-alwayson Azure Stack Hub 快速入門範本來部署 SQL Server AlwaysOn 可用性群組。 此範本會在一個「AlwaysOn 可用性群組」中部署兩個 SQL Server Enterprise 或 Developer 執行個體。 它會建立下列資源︰

  • 網路安全性群組。
  • 虛擬網路。
  • 四個儲存體帳戶 (一個用於 Active Directory (AD)、一個用於 SQL、一個用於檔案共用見證,還有一個用於 VM 診斷)。
  • 四個公用 IP 位址 (一個用於 AD、兩個用於每部 SQL VM,還有一個用於繫結至 SQL AlwaysOn 接聽程式的公用負載平衡器)。
  • 一個用於 SQL VM 且公用 IP 繫結至 SQL AlwaysOn 接聽程式的外部負載平衡器。
  • 一部針對具有單一網域的新樹系設定為網域控制站的 VM (Windows Server 2016)。
  • 兩部以 SQL Server 2016 SP1 或 SP2 Enterprise 或 Developer 版本設定並已叢集化的 VM (Windows Server 2016)。 這些必須是 Marketplace 映像。
  • 一部設定為叢集檔案共用見證的 VM (Windows Server 2016)。
  • 一個包含 SQL 和檔案共用見證 VM 的可用性設定組。
  1. 登入使用者入口網站:

    • 針對整合式系統部署,入口網站位址會依據您解決方案的區域和外部網域名稱而有所不同。 其格式為 https://portal.<region>.<FQDN>
    • 若是 Azure Stack 開發套件 (ASDK),則入口網站位址為 https://portal.local.azurestack.external
  2. 選取 [+建立資源]>[自訂],然後選取 [範本部署]。

    在 Azure Stack Hub 管理員入口網站中自訂範本部署

  3. 在 [自訂部署] 刀鋒視窗上,選取 [編輯範本]>[快速入門範本],然後使用可用自訂範本的下拉式清單來選取 [sql-2016-alwayson] 範本。 選取 [確定],然後 [儲存]。

    在 Azure Stack Hub 系統管理員入口網站中編輯範本

  4. 在 [自訂部署] 刀鋒視窗上,選取 [編輯參數],然後檢視預設值。 視需要修改值以提供所有必要的參數資訊,然後選取 [確定]

    請至少:

    • 為 ADMINPASSWORD、SQLSERVERSERVICEACCOUNTPASSWORD 及 SQLAUTHPASSWORD 參數提供複雜密碼。
    • 針對 DNSSUFFIX 參數,以全小寫字母輸入反向查閱的 DNS 尾碼 (若為 2107 版以前的 ASDK 安裝,請輸入 azurestack.external)。

    編輯 Azure Stack Hub 系統管理員入口網站中的參數

  5. 在 [自訂部署] 刀鋒視窗上,選擇要使用的訂用帳戶,然後建立新資源群組或選取現有的資源群組來進行自訂部署。

    接著,選取資源群組位置 (若為 2107 版以前的 ASDK 安裝,請選取 [本機]),然後按一下 [建立]。 系統將會驗證自訂部署設定,然後開始進行部署。

    在 Azure Stack Hub 系統管理員入口網站中選擇訂用帳戶

  6. 在使用者入口網站中,選取 [資源群組],然後選取您針對自訂部署建立的資源群組名稱 (就此範例而言是 resource-group)。 請檢視部署狀態,以確定所有部署皆已順利完成。

    接著,檢閱資源群組項目並選取 [SQLPIPsql<資源群組名稱>] 公用 IP 位址項目。 請記錄負載平衡器公用 IP 的公用 IP 位址和完整 FQDN。 您將需要向「Azure Stack Hub 操作員」提供此資訊,以便讓他們運用這個 SQL AlwaysOn 可用性群組來建立 SQL 主控伺服器。

    注意

    範本部署將需要數小時的時間才能完成。

啟用自動植入

在範本順利部署並設定 SQL AlwaysON 可用性群組之後,您必須在可用性群組中的每個 SQL Server 執行個體上啟用自動植入

當您建立具備自動植入功能的可用性群組時,SQL Server 會自動為群組中的每個資料庫建立次要複本,而無須任何其他手動介入。 此方法可確保 AlwaysOn 資料庫的高可用性。

請使用下列 SQL 命令,為 AlwaysOn 可用性群組設定自動植入。 請視需要將 <PrimaryInstanceName> 取代為主要執行個體 SQL Server 名稱、將 <SecondaryInstanceName> 取代為次要執行個體 SQL Server 名稱,並將 <availability_group_name> 取代為 AlwaysOn 可用性群組名稱。

在主要 SQL 執行個體上:

ALTER AVAILABILITY GROUP [<availability_group_name>]
    MODIFY REPLICA ON '<PrimaryInstanceName>'
    WITH (SEEDING_MODE = AUTOMATIC)
GO

ALTER AVAILABILITY GROUP [<availability_group_name>]
    MODIFY REPLICA ON '<SecondaryInstanceName>'
    WITH (SEEDING_MODE = AUTOMATIC)
GO

主要 SQL 執行個體指令碼

在次要 SQL 執行個體上:

ALTER AVAILABILITY GROUP [<availability_group_name>] GRANT CREATE ANY DATABASE
GO

次要 SQL 執行個體指令碼

設定自主資料庫驗證

將自主資料庫新增至可用性群組之前,請確定在裝載可用性群組之可用性複本的每個伺服器執行個體上,自主資料庫驗證伺服器選項已設定為 1。 如需詳細資訊,請參閱 自主資料庫驗證

請使用下列命令,為可用性群組中的每個 SQL Server 執行個體設定自主資料庫驗證伺服器選項:

EXEC sp_configure 'contained database authentication', 1
GO
RECONFIGURE
GO

設定自主資料庫驗證

設定 Azure Stack Hub SQL 主控伺服器

建立並適當設定 SQL Server AlwayOn 可用性群組之後,Azure Stack Hub 操作員必須將此群組設定為 Azure Stack Hub SQL 主控伺服器。

請務必使用先前在建立 SQL AlwaysOn 可用性群組的資源群組時所記錄的 SQL 負載平衡器公用 IP (SQLPIPsql資源群組名稱> ) 或公用 IP 的完整 FQDN。 此外,您還需要知道用來存取 AlwaysOn 可用性群組中 SQL 執行個體的 SQL Server 驗證認證。

注意

此步驟必須由「Azure Stack Hub 操作員」從 Azure Stack Hub 管理員入口網站執行。

有了 SQL AlwaysOn 可用性群組的負載平衡器接聽程式公用 IP 和 SQL 驗證登入資訊之後,Azure Stack Hub 操作員便可使用 SQL AlwaysOn 可用性群組來建立 SQL 主控伺服器

此外,也請確定您已建立一些方案和供應項目,以供使用者建立 SQL AlwaysOn 資料庫。 操作員將需要把 Microsoft.SqlAdapter 服務新增至方案中,並建立一個專門用於高可用性資料庫的新配額。 如需關於建立方案的詳細資訊,請參閱服務、方案、供應項目、訂用帳戶概觀

提示

將必須等到已部署 SQL Server 資源提供者之後,才能將 Microsoft.SqlAdapter 服務新增至方案。

建立高可用性 SQL 資料庫

在已建立、設定 SQL AlwaysOn 可用性群組並由「Azure Stack Hub 操作員」新增為「Azure Stack Hub SQL 主控伺服器」之後,其訂用帳戶具有 SQL Server 資料庫功能的租用戶使用者便可建立支援 Always On 功能的 SQL 資料庫。 他們可以遵循本節中的步驟來建立這些資料庫。

注意

請從 Azure Stack Hub 使用者入口網站,以具有可提供 SQL Server 功能 (Microsoft.SQLAdapter 服務) 之訂用帳戶的租用戶使用者身分執行這些步驟。

  1. 登入使用者入口網站:

    • 針對整合式系統部署,入口網站位址會依據您解決方案的區域和外部網域名稱而有所不同。 其格式為 https://portal.<region>.<FQDN>
    • 若是 Azure Stack 開發套件 (ASDK),則入口網站位址為 https://portal.local.azurestack.external
  2. 選取 [建立資源]+>[資料 + 儲存體],然後選取 [SQL Database]。

    提供必要的資料庫屬性資訊。 這些資訊包括名稱、定序、大小上限、訂用帳戶、資源群組,以及要用於部署的位置。

    在 Azure Stack Hub 使用者入口網站中建立 SQL 資料庫

  3. 選取 [SKU],然後選擇要使用的適當「SQL 主控伺服器 SKU」。 在此範例中,「Azure Stack Hub 操作員」已建立 Enterprise-HA SKU 來支援 SQL AlwaysOn 可用性群組的高可用性。

    在 Azure Stack Hub 使用者入口網站中選取 SKU

  4. 選取 [登入]>[建立新的登入],然後提供要用於新資料庫的 SQL 驗證認證。 完成時,請依序選取 [確定] 和 [建立],以開始資料庫部署程序。

    在 Azure Stack Hub 使用者入口網站中建立登入

  5. 當 SQL 資料庫部署順利完成時,請檢閱資料庫屬性,以找出要用來連線至新高可用性資料庫的連接字串。

    在 Azure Stack Hub 使用者入口網站中檢視連接字串

後續步驟

更新 SQL 資源提供者