為 SQL 資源提供者新增主控伺服器

重要

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

您可以在 Azure Stack Hub 中的虛擬機器 (VM) 上,或在 Azure Stack Hub 環境外部的 VM上建立裝載資料庫的 SQL Server 資料庫,只要 SQL 資源提供者能夠連線到該執行個體即可。

注意

SQL 資源提供者應建立在預設提供者訂用帳戶中,而 SQL 主控伺服器則應建立在可計費的使用者訂用帳戶中。 資源提供者伺服器不應該用來裝載使用者資料庫。

概觀

在您新增 SQL 主控伺服器之前,請檢閱下列必要與一般需求。

必要需求

  • 啟用 SQL Server 執行個體上的 SQL 驗證。 由於 SQL 資源提供者 VM 未加入網域,因此只能使用 SQL 驗證連線至主控伺服器。
  • 安裝在 Azure Stack Hub 上時,將 SQL 執行個體的 IP 位址設定為公用。 資源提供者和使用者 (例如 Web 應用程式) 會透過使用者網路通訊,因此需要連線到此網路上的 SQL 執行個體。

一般需求

  • 資源提供者和使用者工作負載專用的 SQL 執行個體。 您無法使用任何其他取用者正在使用的 SQL 執行個體。 這項限制也適用於 App Service。
  • 如果您想要將單一 VM 上的多個 SQL Server 執行個體設定為主控伺服器,每個 SQL Server 執行個體都應該有唯一的 IP 或 FQDN。 不支援將多個共用相同 IP 或 FQDN 的 SQL Server 執行個體設定為主控伺服器。
  • 設定具有適當權限層級的帳戶以供資源提供者使用 (如下所述)。
  • 您負責管理 SQL 執行個體及其主機。 例如,資源提供者不會套用更新、處理備份,或處理認證輪換。

SQL Server VM 映像

您可以透過 Marketplace 管理功能取得 SQL IaaS VM 映像。 這些映像與 Azure 中提供的 SQL VM 相同。

在使用 Marketplace 項目部署 SQL VM 前,務必先下載最最版的 SQL IaaS 擴充功能。 IaaS 擴充功能和對應的入口網站增強功能可提供自動修補和備份之類的其他功能。 如需此擴充功能的詳細資訊,請參閱使用 SQL Server Agent 擴充功能自動化 Azure VM 上的管理工作

注意

Marketplace 中所有位於 Windows 上的 SQL 映像都「需要」 SQL IaaS 擴充功能;若未下載此擴充功能,VM 將無法進行部署。 其不適用於以 Linux 為基礎的 SQL VM 映像。

有其他選項可用於部署 SQL VM,包含 Azure Stack Hub 快速入門資源庫中的範本。

注意

安裝在多節點 Azure Stack Hub 上的任何主伺服器,都必須從使用者訂用帳戶 (而非預設提供者訂用帳戶) 建立。 必須透過使用者入口網站或透過具有適當登入的 PowerShell 工作階段來加以建立。 所有主控伺服器都是可計費的 VM,而且必須具有適當的 SQL 授權。 服務管理員「可以」是該訂用帳戶的擁有者。

需要的權限

您可以建立具有比 SQL 系統管理員更低權限的系統管理使用者。 此使用者只需要下列作業的權限:

  • 資料庫:建立、改變、具有內含項目 (僅限 Always On)、卸除、備份
  • 可用性群組:改變、聯結、新增/移除資料庫
  • 登入:建立、選取、改變、卸除、撤銷
  • 選取作業:[master].[sys].[availability_group_listeners] (AlwaysOn)、sys.availability_replicas (AlwaysOn)、sys.databases、[master].[sys].[dm_os_sys_memory]、SERVERPROPERTY、[master].[sys].[availability_groups] (AlwaysOn)、sys.master_files

額外的安全性資訊

下列資訊提供額外的安全性指導分針:

  • 所有 Azure Stack Hub 儲存體都是使用 BitLocker 加密的,因此 Azure Stack Hub 上的任何 SQL 執行個體都會使用加密的 Blob 儲存體。
  • SQL 資源提供者完全支援 TLS 1.2。 確定透過 SQL RP 管理的任何 SQL Server「僅」針對 TLS 1.2 設定,而且 RP 將預設為該設定。 所有支援的 SQL Server 版本都支援 TLS 1.2。 如需詳細資訊,請參閱 Microsoft SQL Serve 的 TLS 1.2 支援
  • 使用 SQL Server 組態管理員設定 ForceEncryption 選項,以確保與 SQL server 的所有通訊一律都會經過加密。 如需詳細資訊,請參閱設定伺服器強制加密連線
  • 確定任何用戶端應用程式也都會透過加密連線進行通訊。
  • RP 會設定為信任 SQL Server 執行個體所使用的憑證。

透過連線到獨立式主控 SQL 伺服器來提供容量

您可以使用運用任何版本之 SQL Server 2014、SQL Server 2016 或 SQL Server 2019 的獨立 (非 HA) SQL Server。 確定您擁有的認證適用於具備系統管理員權限的帳戶。

若要新增已設定的獨立主控伺服器,請遵循下列步驟:

  1. 以服務管理員身分登入 Azure Stack Hub 管理員入口網站。

  2. 選取 [所有服務] [管理資源] [SQL 主控伺服器]

    Azure Stack Hub 系統管理員入口網站中的 SQL 主控伺服器

    在 [SQL 主控伺服器] 下,您可以將 SQL 資源提供者連線到作為資源提供者後端的 SQL Server 執行個體。

    Azure Stack Hub 系統管理員入口網站中的 SQL 配接器儀表板

  3. 按一下 [新增],然後在 [新增 SQL 主控伺服器] 刀鋒視窗上提供 SQL Server 執行個體的連線詳細資料。

    重要

    請勿選擇部署期間由 SQL 資源提供者安裝程式所建立的資源群組system.<region>.sqladapter。 您必須提供不同的資源群組給獨立的主控伺服器。

    在 Azure Stack Hub 系統管理員入口網站中新增 SQL 主控伺服器

    或者,提供執行個體名稱,若執行個體並未指派給預設連接埠 1433,則可提供連接埠號碼。

    注意

    只要使用者和管理 Azure Resource Manager 可以存取 SQL 執行個體,資源提供者就可以控制它。 SQL 執行個體「必須」專門配置給資源提供者。

  4. 當您新增伺服器時,您必須將它們指派給現有的 SKU,或建立新的 SKU。 在 [Add a Hosting Server] \(新增主控伺服器\) 下方,選取 [SKU]

    • 若要使用現有的 SKU,選擇可用的 SKU,然後選取 [建立]

    • 若要建立 SKU,請選取 [+ Create new SKU] \(+ 建立新的 SKU\)。 在 [Create SKU] \(建立 SKU\) 中,輸入必要的資訊,然後選取 [確定]

      在 Azure Stack Hub 系統管理員入口網站中建立 SKU

使用 SQL Always On 可用性群組提供高可用性

設定 SQL Always On 執行個體需要額外的步驟,而且需要三部 VM (或實體機器)。本文假設您已經對 Always On 可用性群組有充分的瞭解。 如需詳細資訊,請參閱下列文章:

注意

SQL 配接器資源提供者支援適用於 Always On 可用性群組的 SQL 2016 SP1 企業版或更新版本執行個體。 此配接器組態需要新的 SQL 功能,例如自動植入。

自動植入

您必須在 SQL Server 的每個執行個體上,為每個可用性群組啟用 自動植入

若要在所有執行個體上啟用自動植入,請在主要複本上編輯下列 SQL 命令,然後針對每個次要執行個體執行:

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

可用性群組必須以方括弧括住。

在次要節點上,執行下列 SQL 命令:

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

設定自主資料庫驗證

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

使用這些命令設定每個執行個體的自主資料庫驗證伺服器選項:

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

若要新增 SQL Always On 主控伺服器:

  1. 以服務管理員身分登入 Azure Stack Hub 管理員入口網站。

  2. 選取 [瀏覽] [管理資源] [SQL 主控伺服器] [+新增]

    使用 [SQL 主控伺服器] 之下,您可以將 SQL Server 資源提供者連線到作為資源提供者後端的 SQL Server 實際執行個體。

  3. 在表單中填妥 SQL Server 執行個體的連線詳細資料。 確定您使用 Always On 接聽程式的 FQDN 位址 (以及選擇性的連接埠號碼和執行個體名稱)。 針對您以系統管理員權限設定的帳戶,提供資訊。

    重要

    請勿選擇部署期間由 SQL 資源提供者安裝程式所建立的資源群組system.<region>.sqladapter。 您必須提供不同的資源群組給獨立的主控伺服器。

  4. 核取 [Always On 可用性群組] 方塊,即可啟用 SQL Always On 可用性群組執行個體的支援。

    在 Azure Stack Hub 系統管理員入口網站中啟用 Always On 可用性群組

  5. 將 SQL Always On 執行個體新增至 SKU。

    重要

    您不能在相同 SKU 中混合獨立伺服器與 Always On 執行個體。 嘗試在新增第一個主控伺服器之後混合類型會導致錯誤。

SKU 注意事項

使用可描述 SKU 中伺服器容量的 SKU 名稱,例如容量與效能。 名稱可作為輔助,來幫助使用者將其資料庫部署至適當的 SKU。 例如,您可以使用 SKU 名稱依下列特性區分服務供應項目:

  • 高容量
  • 高效能
  • 高可用性

最佳作法是,SKU 中的所有主控伺服器應具有相同的資源和效能特性。

無法對特定租用戶隱藏 SKU,亦無法專供特定租用戶使用。

最多需要一小時才能在入口網站中看到 SKU。 在完整建立 SKU 前,使用者無法建立資料庫。

若要編輯 SKU,請移至 [所有服務][SQL 配接器][SKU]。 選取要修改的 SKU、進行任何必要的變更,然後按一下 [儲存] 以儲存變更。

若要刪除已不再需要的 SKU,請移至 [所有服務][SQL 配接器][SKU]。 以滑鼠右鍵按一下 SKU 名稱,然後選取 [刪除] 將它刪除。

重要

最多可能需要一小時的時間,才能在使用者入口網站中提供新的 SKU。

將 SQL 資料庫提供給使用者使用

建立方案和供應項目,將 SQL 資料庫提供給使用者使用。 將 Microsoft.SqlAdapter 服務新增到方案,然後建立新配額。

重要

最多可能需要兩小時的時間,才能在使用者入口網站中提供新的配額,或強制執行變更的配額。

注意

如果目前有任何方案正在使用配額,則無法刪除配額。 您必須先刪除參考配額的方案。

後續步驟

新增資料庫