使用 Azure Stack Hub 建立高可用性 SQL 資料庫
重要
從 Azure Stack Hub 組建 2108 開始,SQL 和 MySQL 資源提供者會提供給已授與存取權的訂用帳戶。 如果您想要開始使用這項功能,或如果您需要從舊版升級, 請開啟支援案例 ,我們的支援工程師會引導您完成部署或升級程式。
身為 Azure Stack Hub 操作員,您可以將伺服器 VM 設定為裝載 SQL Server 資料庫。 在 Azure Stack Hub 建立和管理 SQL 主控伺服器之後,已訂閱 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(企業版或開發人員)。
注意
不支援標準版本。 使用 SQL Server Standard 版本設定 SQL Server AlwaysOn 可用性群組時,只能為一個可用性群組建立一個資料庫。 這項限制可讓標準版本不適合我們的案例。 如需詳細資訊,請參閱這裡的檔。
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 AlwaysOn 接聽程式之公用 IP 的 SQL VM。
- 一個 VM (Windows Server 2016) 已設定為具有單一網域的新樹系域控制器。
- 使用 SQL Server 2016 SP1 或 SP2 Enterprise 或 Developer Edition 和叢集設定的兩部 VM(Windows Server 2016)。 這些必須是市集映像。
- 一個 VM (Windows Server 2016) 已設定為叢集的檔案共享見證。
- 一個可用性設定組,其中包含 SQL 和檔案共用見證 VM。
-
登入使用者入口網站:
- 針對整合式系統部署,入口網站位址會根據解決方案的區域和外部功能變數名稱而有所不同。 其形式為
https://portal.<region>.<FQDN>
。 - 針對 Azure Stack 開發工具套件 (ASDK),入口網站位址為
https://portal.local.azurestack.external
。
- 針對整合式系統部署,入口網站位址會根據解決方案的區域和外部功能變數名稱而有所不同。 其形式為
選取 [建立資源>自定義],然後選取 + [範本部署]。
在 [自定義部署] 刀鋒視窗上,選取 [編輯範本快速入門範本>],然後使用可用自定義範本的下拉式清單來選取 sql-2016-alwayson 範本。 選取 [確定],然後選取 [儲存]。
在 [ 自定義部署] 刀鋒視窗上,選取 [編輯參數 ],然後檢閱預設值。 視需要修改值,以提供所有必要的參數資訊,然後選取 [ 確定]。
最低需求:
- 提供ADMINPASSWORD、SQLSERVERSERVICEACCOUNTPASSWORD和SQLAUTHPASSWORD 參數的複雜密碼。
- 輸入 DNS 後綴,以 DNSSUFFIX 參數的所有小寫字母進行反向對應(2107 版之前的 ASDK 安裝 azurestack.external )。
在 [ 自定義部署] 刀鋒視窗上,選擇要使用的訂用帳戶並建立新的資源群組,或選取自定義部署的現有資源群組。
接下來,選取資源群組位置(2107 版之前用於 ASDK 安裝的本機 位置),然後按兩下 [ 建立]。 將會驗證自定義部署設定,然後開始部署。
在使用者入口網站中,選取 [資源群組],然後選取您為自定義部署建立的資源群組名稱(本範例的 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 實例上:
ALTER AVAILABILITY GROUP [<availability_group_name>] GRANT CREATE ANY DATABASE
GO
設定自主資料庫驗證
在可用性群組中加入自主資料庫之前,請確定在裝載可用性群組之可用性複本的每個伺服器執行個體上, 自主資料庫驗證 伺服器選項都設為 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 使用公用 IP 或完整 FQDN (SQLPIPsql<資源組名>)。 此外,您必須知道用來存取 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 資料庫
在 Azure Stack Hub 操作員建立、設定及新增 SQL AlwaysOn 可用性群組為 Azure Stack Hub SQL 主控伺服器之後,具有包含 SQL Server 資料庫功能的租用戶使用者可以建立支援 AlwaysOn 功能的 SQL 資料庫。 他們可以遵循本節中的步驟來建立這些資料庫。
注意
以租用戶使用者身分從 Azure Stack Hub 使用者入口網站執行這些步驟,並提供 SQL Server 功能(Microsoft.SQLAdapter 服務)。
-
登入使用者入口網站:
- 針對整合式系統部署,入口網站位址會根據解決方案的區域和外部功能變數名稱而有所不同。 其形式為
https://portal.<region>.<FQDN>
。 - 針對 Azure Stack 開發工具套件 (ASDK),入口網站位址為
https://portal.local.azurestack.external
。
- 針對整合式系統部署,入口網站位址會根據解決方案的區域和外部功能變數名稱而有所不同。 其形式為
選取 + [建立資源>數據 + 記憶體],然後 SQL 資料庫。
提供必要的資料庫屬性資訊。 此資訊包括名稱、定序、大小上限,以及要用於部署的訂用帳戶、資源群組和位置。
選取 [SKU ],然後選擇要使用的適當 SQL 主控伺服器 SKU。 在此範例中,Azure Stack Hub 操作員已建立 Enterprise-HA SKU,以支援 SQL AlwaysOn 可用性群組的高可用性。
選取 [登入>建立新的登入],然後提供要用於新資料庫的 SQL 驗證認證。 完成後,請選取 [確定],然後選取 [建立] 以開始資料庫部署程式。
當 SQL 資料庫部署順利完成時,請檢閱資料庫屬性,以探索要用於連線到新高可用性資料庫的 連接字串。