共用方式為


在 Azure Stack Hub 上部署 SQL Server 資源提供者

重要

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

使用 Azure Stack Hub SQL Server 資源提供者,將 SQL 資料庫公開為 Azure Stack Hub 服務。

SQL 資源提供者會在 Windows Server 2016 Server Core 虛擬機上以服務的形式執行。

SQL 資源提供者會以服務模式在特殊的附加元件 RP Windows Server 上執行。

重要

只有資源提供者應該在裝載 SQL 或 MySQL 的伺服器上建立專案。 不支援在資源提供者未建立的主機伺服器上建立的專案,而且可能會導致狀態不符。

重要

V2.x SQL/MySQL 資源提供者會使用 ASDK 不支援的部署資源提供者 (DRP) 安裝機制。 因此,ASDK 不支援 V2.x SQL/MySQL 資源提供者。

先決條件

如果您已安裝資源提供者,您可能已完成下列必要條件,而且可以略過本節。 否則,請先完成下列步驟,再繼續進行:

  1. 如果您尚未這麼做,向 Azure註冊您的 Azure Stack Hub 實例。 您必須執行此步驟,因為您將從 Azure 連線並下載專案至 Marketplace。

  2. 如果您不熟悉 Azure Stack Hub 系統管理員入口網站的 Marketplace 管理 功能,請檢閱 從 Azure 下載市集項目並發布至 Azure Stack Hub。 本文將引導您完成從 Azure 下載項目至 Azure Stack Hub 市集的過程。 它涵蓋已連線和未連線的情境。 如果您的 Azure Stack Hub 實例已中斷連線或部分連線,那麼需要滿足其他的前提條件以準備安裝。

  3. 更新您的 Microsoft Entra 主目錄。 從版本 1910 開始,必須在主租用戶中註冊新的應用程式。 此應用程式將使 Azure Stack Hub 能夠成功建立和註冊更新的資源提供者(例如事件中樞及其他),以整合到您的 Microsoft Entra 租戶中。 這是升級至組建 1910 或更新版本之後必須完成的一次性動作。 如果未完成此步驟,Marketplace 資源提供者安裝將會失敗。

SQL Server 資源提供者必要條件

中斷連線的情境

在中斷連線的情況下部署 SQL Server 資源提供者 V2 時,請遵循 將市集專案下載至 Azure Stack Hub 指示,將 SQL Server 資源提供者專案和附加元件 RP Windows Server 專案下載至 Azure Stack Hub 環境。

在中斷連線的情況下部署 SQL Server 資源提供者 V1 時,請完成下列步驟以下載必要的 PowerShell 模組,並手動註冊存放庫。

  1. 使用因特網連線登入計算機,並使用下列腳本下載PowerShell模組。

    Import-Module -Name PowerShellGet -ErrorAction Stop
    Import-Module -Name PackageManagement -ErrorAction Stop
    
    # path to save the packages, c:\temp\azs1.6.0 as an example here
    $Path = "c:\temp\azs1.6.0"
    
  2. 根據您要部署的資源提供者版本,執行其中一個腳本。

    # for resource provider version >= 1.1.93.0
    Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureRM -Path $Path -Force -RequiredVersion 2.5.0
    Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $Path -Force -RequiredVersion 1.8.2
    
    # for resource provider version <= 1.1.47.0
    Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureRM -Path $Path -Force -RequiredVersion 2.3.0
    Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $Path -Force -RequiredVersion 1.6.0
    
  3. 然後將下載的套件複製到 USB 裝置。

  4. 登入已中斷連線的工作站,並將套件從USB裝置複製到工作站上的位置。

  5. 將此位置註冊為本機存放庫。

    # requires -Version 5
    # requires -RunAsAdministrator
    # requires -Module PowerShellGet
    # requires -Module PackageManagement
    
    $SourceLocation = "C:\temp\azs1.6.0"
    $RepoName = "azs1.6.0"
    
    Register-PSRepository -Name $RepoName -SourceLocation $SourceLocation -InstallationPolicy Trusted
    
    New-Item -Path $env:ProgramFiles -name "SqlMySqlPsh" -ItemType "Directory"
    

部署 SQL 資源提供者 V2

如果您要從 V1 版本升級,請參閱 更新 SQL Server 資源提供者檔。

開始安裝

  1. 如果您尚未登入 Azure Stack Hub 系統管理員入口網站,請選取左側的 [Marketplace 管理],選取 [資源提供者]。

  2. 下載 SQL 資源提供者和其他必要軟體之後,Marketplace 管理 會顯示狀態為「未安裝」的「SQL Server 資源提供者」套件。 可能有其他套件顯示「已下載」狀態。 安裝 RP 之前市集管理的螢幕快照。

  3. 選取您要安裝的數據列。 [SQL Server 資源提供者安裝套件] 頁面會顯示頂端的藍色橫幅。 選取橫幅以開始安裝。 開始安裝市集管理的螢幕截圖。

安裝必要條件

  1. 接下來,您會傳輸至安裝頁面。 選擇 [安裝必要條件],以開始安裝過程。 市集管理安裝必要條件的螢幕快照。

  2. 等待必要條件安裝完成。 在進行下一個步驟之前,您應該會看到 安裝必要條件 旁的綠色勾選標記。 市集管理安裝必要條件成功的螢幕快照。

準備秘密

  1. 在步驟 2:準備機密 中,選取「新增憑證」,將出現「新增憑證」面板。 市場管理配置要訣的螢幕快照。

  2. 點選 [新增憑證] 上的瀏覽按鈕,位於[憑證檔名]字段的正右邊。 選取您在完成必要條件時購買的 .pfx 憑證檔案。

  3. 輸入您為 SQL Server 資源提供者 SSL 憑證建立安全字串所提供的密碼。 然後選擇 新增市集管理新增憑證的螢幕快照。

安裝資源提供者

  1. 安裝憑證成功時,您應該會看到 準備機密 旁的綠色複選標記,再繼續進行下一步驟。 選取 [安裝] 按鈕,它位於 [安裝資源提供者] 旁。 市集管理啟動 RP 安裝的螢幕快照。

  2. 接下來,您會看到下列頁面,指出已安裝 SQL 資源提供者。 市集管理 RP 安裝的螢幕快照。

  3. 等候安裝完成通知。 此過程可能需要一至數小時的時間,具體取決於您的 Azure Stack Hub 類型。 市集管理 RP 安裝進行中的螢幕快照。

  4. 藉由返回 Marketplace 管理資源提供者 頁面,確認 SQL Server 資源提供者的安裝成功。 SQL Server 資源提供者的狀態應該會顯示「已安裝」。 已安裝市集管理 RP 的螢幕快照。

部署 SQL 資源提供者 V1

完成所有必要條件之後,請執行自我解壓縮程式,將下載的安裝套件解壓縮到暫存目錄。 從可存取 Azure Stack Hub Azure Resource Manager 管理員端點和具特殊許可權端點的電腦執行 DeploySqlProvider.ps1 腳本,以部署 SQL 資源提供者。 Azure Stack Hub 版本中,您下載的 SQL 資源提供者二進位程式包含 DeploySqlProvider.ps1 腳本。

重要

在部署資源提供者之前,請先檢閱版本資訊,以瞭解可能會影響部署的新功能、修正程式和任何已知問題。

若要部署 SQL 資源提供者,請開啟 新的 具有提升權限的 PowerShell 視窗(而非 PowerShell ISE),並切換到您解壓縮 SQL 資源提供者二進位檔案所在的目錄。

重要

強烈建議使用 Clear-AzureRmContext -Scope CurrentUserClear-AzureRmContext -Scope Process,在執行部署或更新腳本之前清除快取。

執行 DeploySqlProvider.ps1 文稿,以完成下列工作:

  • 將憑證和其他工件上傳至 Azure Stack Hub 上的儲存帳戶。
  • 發佈畫廊套件,讓您可以使用畫廊部署 SQL 資料庫。
  • 發佈圖庫套件以部署主機伺服器。
  • 使用您下載的 Windows Server 2016 核心映射或Microsoft AzureStack 附加元件 RP Windows Server 映射來部署 VM,然後安裝 SQL 資源提供者。
  • 註冊一個本地 DNS 記錄,映射到您的資源提供者 VM。
  • 為操作員帳戶將您的資源提供者註冊到本地 Azure Resource Manager。

注意

當 SQL 資源提供者部署啟動時,會建立 system.local.sqladapter 資源群組。 完成此資源群組所需的部署可能需要 75 分鐘的時間。 您不應該將任何其他資源放在 system.local.sqladapter 資源群組 中。

DeploySqlProvider.ps1 參數

您可以從命令列指定下列參數。 如果您未這麼做,或有任何參數驗證失敗,系統會提示您提供必要的參數。

參數名稱 描述 批註或預設值
CloudAdminCredential 存取特權端點所需的雲端管理員憑證。 必要
AzCredential Azure Stack Hub 服務管理員帳戶的認證。 使用您用來部署 Azure Stack Hub 的相同認證。 如果您搭配 AzCredential 使用的帳戶需要多重要素驗證(MFA),腳本將會失敗。 必要
VMLocalCredential SQL 資源提供者 VM 之本機系統管理員帳戶的認證。 必要
PrivilegedEndpoint 具特殊許可權端點的IP位址或 DNS 名稱。 必要
AzureEnvironment 用來部署 Azure Stack Hub 之服務管理員帳戶的 Azure 環境。 僅適用於 Microsoft Entra 部署。 支援的環境名稱 AzureCloudAzureUSGovernment,或使用 China Microsoft Entra ID,AzureChinaCloud AzureCloud
DependencyFilesLocalPath 只有整合式系統,您的憑證 .pfx 檔案必須放在這個目錄中。 您可以選擇在這裡複製一個 Windows Update MSU 套件。 選擇性整合系統中的必須
DefaultSSLCertificatePassword .pfx 憑證的密碼。 必要
MaxRetryCount 您希望在每次操作失敗時重試的次數。 2
重試時間 重試之間的逾時間隔,以秒為單位。 120
卸載 拿掉資源提供者和所有相關聯的資源(請參閱下列附注)。
DebugMode 防止失敗時自動清除。

使用自訂腳本部署 SQL 資源提供者

如果您要部署 SQL 資源提供者 1.1.33.0 版或舊版,您必須在 PowerShell 中安裝特定版本的 AzureRm.BootStrapper 和 Azure Stack Hub 模組。

如果您要部署 SQL 資源提供者 1.1.47.0 版或更新版本,部署腳本會自動下載並安裝必要的 PowerShell 模組,以便您前往 C:\Program Files\SqlMySqlPsh 路徑。

# Install the AzureRM.Bootstrapper module, set the profile, and install the AzureStack module
# Note that this might not be the most currently available version of Azure Stack Hub PowerShell
Install-Module -Name AzureRm.BootStrapper -RequiredVersion 0.5.0 -Force
Use-AzureRmProfile -Profile 2018-03-01-hybrid -Force
Install-Module -Name AzureStack -RequiredVersion 1.6.0

注意

在中斷連線的案例中,您必須下載必要的 PowerShell 模組,並手動註冊存放庫作為必要條件。

若要在部署資源提供者時排除任何手動設定,您可以自定義下列腳本。 視需要變更 Azure Stack Hub 部署的預設帳戶資訊和密碼。

# Use the NetBIOS name for the Azure Stack Hub domain. On the Azure Stack Hub SDK, the default is AzureStack but could have been changed at install time.
$domain = "AzureStack"

# For integrated systems, use the IP address of one of the ERCS VMs
$privilegedEndpoint = "AzS-ERCS01"

# Provide the Azure environment used for deploying Azure Stack Hub. Required only for Azure AD deployments. Supported values for the <environment name> parameter are AzureCloud, AzureChinaCloud, or AzureUSGovernment depending which Azure subscription you're using.
$AzureEnvironment = "<EnvironmentName>"

# Point to the directory where the resource provider installation files were extracted.
$tempDir = 'C:\TEMP\SQLRP'

# The service admin account can be Azure Active Directory or Active Directory Federation Services.
$serviceAdmin = "admin@mydomain.onmicrosoft.com"
$AdminPass = ConvertTo-SecureString 'P@ssw0rd1' -AsPlainText -Force
$AdminCreds = New-Object System.Management.Automation.PSCredential ($serviceAdmin, $AdminPass)

# Set credentials for the new resource provider VM local admin account.
$vmLocalAdminPass = ConvertTo-SecureString 'P@ssw0rd1' -AsPlainText -Force
$vmLocalAdminCreds = New-Object System.Management.Automation.PSCredential ("sqlrpadmin", $vmLocalAdminPass)

# Add the cloudadmin credential that's required for privileged endpoint access.
$CloudAdminPass = ConvertTo-SecureString 'P@ssw0rd1' -AsPlainText -Force
$CloudAdminCreds = New-Object System.Management.Automation.PSCredential ("$domain\cloudadmin", $CloudAdminPass)

# Change the following as appropriate.
$PfxPass = ConvertTo-SecureString 'P@ssw0rd1' -AsPlainText -Force

# For version 1.1.47.0 or later, the PowerShell modules used by the RP deployment are placed in C:\Program Files\SqlMySqlPsh
# The deployment script adds this path to the system $env:PSModulePath to ensure correct modules are used.
$rpModulePath = Join-Path -Path $env:ProgramFiles -ChildPath 'SqlMySqlPsh'
$env:PSModulePath = $env:PSModulePath + ";" + $rpModulePath 

# Change to the directory folder where you extracted the installation files. Don't provide a certificate on ASDK!
. $tempDir\DeploySQLProvider.ps1 `
    -AzCredential $AdminCreds `
    -VMLocalCredential $vmLocalAdminCreds `
    -CloudAdminCredential $cloudAdminCreds `
    -PrivilegedEndpoint $privilegedEndpoint `
    -AzureEnvironment $AzureEnvironment `
    -DefaultSSLCertificatePassword $PfxPass `
    -DependencyFilesLocalPath $tempDir\cert

當資源提供者安裝腳本完成時,請重新整理瀏覽器,以確定您可以看到最新的更新,並關閉目前的 PowerShell 會話。

使用 Azure Stack Hub 入口網站確認 V1 部署

  1. 以服務管理員身分登入系統管理員入口網站。
  2. 選取 資源群組
  3. 選取 系統<位置。>.sqladapter 資源群組。
  4. 在 [資源群組概觀] 的 [摘要] 頁面上,不應有失敗的部署。
  5. 最後,選取系統管理員入口網站中的 虛擬機,以確認 SQL 資源提供者 VM 已成功建立並正在執行。

Microsoft Entra 識別碼的重要設定

如果您的 Azure Stack Hub 使用 Microsoft Entra ID 作為識別提供者,請確定已安裝 SQL Server 資源提供者的 VM 具有輸出因特網連線能力。

如果需要取得已安裝 SQL Server 資源提供者的 VM IP(也就是將 IP 新增至防火牆允許清單),您必須 開啟支援案例,並讓支援工程師暫時顯示 SQL Server 資源提供者訂用帳戶。 然後,您可以在訂用帳戶中找到 VM 並取得其 IP。

後續步驟

新增主控伺服器