建立實例集區 - Azure SQL 受控執行個體
本文內容
必要條件
建立執行個體集區
在集區內建立新的執行個體
移動現有執行個體
連線到集區中的執行個體
建立資料庫
取得集區使用量
更新執行個體集區
更新集區式執行個體
刪除執行個體集區
執行個體集區作業
限制
支援要求
相關內容
顯示其他 10 個
適用於: Azure SQL 受控執行個體
本文介紹如何使用 Azure 入口網站、PowerShell 或 Azure CLI 為 Azure SQL 受控執行個體 建立執行個體集區 ,以及如何使用 PowerShell 或 Azure CLI 將執行個體移入和移出集區。
執行個體集區可讓您使用共用資源將多個執行個體部署至單一虛擬機器,以提供方便且符合成本效益的基礎結構,以移轉多個 SQL Server 執行個體,而不需要將較小型且計算密集較低的工作負載合併到較大的 SQL 受控執行個體。
若要建立執行個體集區,您應該具備:
使用執行個體集區時,請仔細規劃子網路的大小。 有關子網路大小調整指引,請參閱判斷所需的子網路大小與範圍 。
在計算一個包含多個一般用途執行個體的執行個體集區所需的 IP 位址數目時,請使用下列公式:
2 * (5 + (3 * # of MIs)) + 5
# of MIs
是指您計劃佈建的執行個體的潛在數目上限。 集區中執行個體的可能數目上限為 40。
可以使用 Azure 入口網站、PowerShell 或 Azure CLI 建立執行個體集區。 請考慮下列事項:
目前只有標準系列 (Gen5) 或進階版系列硬體上的一般用途服務層級可供使用。
集區名稱只能包含小寫字母、數字和連字號,且開頭不得為連字號。
Azure Hybrid Benefit 適用於執行個體集區層級。 您可以在建立集區時設定授權類型,並在建立集區之後更新授權類型。
重要
部署執行個體集區是長時間執行的作業,最多可能需要 4.5 小時。
若要在 Azure 入口網站建立執行個體集區,請執行下列步驟:
在 Azure 入口網站 搜尋執行個體集區 ,然後選取 [執行個體集區] 服務以開啟 [執行個體集區] 頁面:
在 [執行個體集區] 頁面,選擇 [+ 建立] 以開啟 [建立 Azure SQL 受控執行個體集區] 頁面:
在建立 Azure SQL 受控執行個體集區 上:
在 [基本] 索引標籤中,提供專案和執行個體的詳細資料。
使用 [計算 + 儲存體] 下的 [設定執行個體集區] 開啟 [計算 + 儲存體] 頁面,然後選擇您想要集區使用的服務層級、計算硬體和 SQL Server 授權。 使用 [套用] 儲存計算設定,並返回 [建立 Azure SQL 受控執行個體集區] 頁面。
選取現有的虛擬網路,或在 [網路] 索引標籤設定新的虛擬網路。
(選擇性) 在 [其他設定] 索引標籤,為集區設定非預設維護時段。
在 [檢閱 + 建立] 索引標籤,檢閱您的設定,然後選取 [建立] 以建立您的執行個體集區。
您可以從 [通知] 監視集區部署。
建立執行個體集區之後,您可以使用 Azure 入口網站在集區中建立新的執行個體 ,或使用 PowerShell 或 Azure CLI 將現有的執行個體移至集區 。
若要建立執行個體集區,請使用 New-AzSqlInstancePool 。
請考慮下列事項:
針對 LicenseType
,如果您沒有可用於 Azure Hybrid Benefit 折扣的 SQL Server 授權,請使用適用於 Azure Hybrid Benefit 的 BasePrice 或 LicenseIncluded 。
使用 Get-AzLocation | select displayname, location
以取得執行個體集區可供使用的區域清單。
執行下列範例指令碼,在標準系列 (Gen5) 硬體上建立具有 8 個虛擬核心的新執行個體集區:
$virtualNetwork = Get -AzVirtualNetwork -Name "<vNetName>" -ResourceGroupName "<resourceGroupName>"
$miSubnet = Get -AzVirtualNetworkSubnetConfig -Name "<miSubnetName>" -VirtualNetwork
$virtualNetwork$miSubnetConfigId = $miSubnet.Id
$parameters = @{
ResourceGroupName = "<resource group name>"
Name = "<instance pool name>"
LicenseType = "LicenseIncluded"
VCore = 8
Edition = "GeneralPurpose"
ComputeGeneration = "Gen5"
Location = "<region>"
$virtualNetwork = Get -AzVirtualNetwork -Name "<vNetName>" -ResourceGroupName "<resourceGroupName>"
$miSubnet = Get -AzVirtualNetworkSubnetConfig -Name "<miSubnetName>" -VirtualNetwork $virtualNetwork
$miSubnetConfigId = $miSubnet.Id
SubnetId = $miSubnetConfigId
}
$instancePool = New -AzSqlInstancePool @parameters
若要建立執行個體集區,請使用 az sql instance-pool create 。
請考慮下列事項:
針對 --license-type
,如果您沒有可用於 Azure Hybrid Benefit 折扣的 SQL Server 授權,請使用適用於 Azure Hybrid Benefit 的 BasePrice 或 LicenseIncluded 。
執行下列範例指令碼,在標準系列 (Gen5) 硬體上建立具有 8 個虛擬核心的新執行個體集區:
az sql instance-pool create \
--license-type LicenseIncluded \
--location <region> \
--name <pool name> \
--capacity 8 \
--tier GeneralPurpose \
--family Gen5 \
--resource-group <resource group name> \
--subnet <subnet name> \
--vnet-name <vnet name>
建立集區之後,可以使用 Azure 入口網站、 PowerShell 或 Azure CLI 在集區內建立新的執行個體。
請考慮下列事項:
您必須指定新執行個體的授權類型,而且必須符合集區的授權類型。
若要使用 Azure 入口網站在集區內建立新執行個體,請遵循下列步驟:
在 Azure 入口網站中,移至 Azure SQL 頁面。
在 Azure SQL 頁面,選取 [+ 建立] 以開啟 [選取 SQL 部署選項] 。
在 [SQL 受控執行個體] 磚中,選取 [單一執行個體] 作為資源類型,然後選取 [建立] 以開啟 [建立 Azure SQL 受控執行個體] 頁面。
在 [建立 Azure SQL 受控執行個體] 頁面的 [基本] 索引標籤上:
選取包含現有執行個體集區的資源群組。
針對 [受控執行個體 詳細資料] 底下的 [屬於執行個體集區?] 選擇 [是] ,以在執行個體集區內建立新的執行個體。
從 [執行個體集區] 下拉式清單中選取集區。
從下拉式清單中選取實例集區之後,您會看到實例的計算成本變更為 0,因為計算包含在集區的成本中。
填寫 [建立 Azure SQL 受控執行個體] 頁面上的剩餘詳細資料,以在集區內建立執行個體。 如需詳細資料,請檢閱建立 Azure SQL 受控執行個體 。
選取 [檢閱 + 建立] 以檢閱新執行個體的設定,然後使用 [建立] 在選取的集區內部署您的執行個體。
若要使用 PowerShell 識別集區參數,請使用 Get-AzSqlInstancePool ,然後使用 New-AzSqlInstance 在特定集區內建立執行個體。
執行下列範例指令碼,在您的集區中建立新的執行個體:
$adminCredential = Get-Credential
$instancePool = Get-AzSqlInstancePool -ResourceGroupName <resource group name> -Name <instance pool name>
$instance01Params = @{
Name = $instance01
VCore = 2
StorageSizeInGB = 32
AdministratorCredential = $adminCredential
}
$instance01 = $instancePool | New-AzSqlInstance @instance01Params
若要使用 Azure CLI 在集區中建立新的執行個體,請在使用 --instance-pool-name
來建立執行個體時,在 參數中提供集區名稱:
sqlmipoolSubnetId= $(az sql instance-pool show -g <resource group name> -n <instance pool name> --query subnetId --output tsv)
az sql mi create \
--license-type LicenseIncluded \
--name <Instance name> \
--admin-user <username> \
--admin-password <password> \
--capacity 2 \
--instance-pool-name <instance pool name> \
--storage 32 \
--resource-group <resource group name> \
--subnet $sqlmipoolSubnetId
您可以使用 PowerShell 或 Azure CLI,在集區中移入和移出執行個體,只要符合以下條件:
其位於與集區相同的資源群組中。
其位於與集區相同的虛擬網路和子網路上。
其符合執行個體集區資源限制。
當現有的執行個體移入集區時,集區層級的設定優先於執行個體層級設定。 例如,執行個體會繼承集區層級設定的授權類型和維護時段。 當執行個體移出集區時,它會保留繼承自集區的設定。 唯一的例外為授權類型,當執行個體從執行個體集區中移除時,預設會回到 'LicenseIncluded' - 在執行個體移出集區之後,必須手動設定 Azure Hybrid Benefit 和混合式容錯移轉權限權益 。
目前不支援使用 Azure 入口網站在集區內移動現有的執行個體。
若要使用 PowerShell 將執行個體移入集區,請在使用 Set-AzSqlInstance 時提供集區名稱:
$instance01 | Set-AzSqlInstance -InstancePoolName $instancePoolName
若要將執行個體移出集區,請提供空白 集區名稱:
$instance01 | Set-AzSqlInstance -InstancePoolName ''
若要使用 Azure CLI 將執行個體移入集區,請在使用 --instance-pool-name
更新執行個體時,在 參數中提供集區名稱:
az sql mi update \
--name <instance name> \
--instance-pool-name <instance pool name> \
--resource-group <resource group name>
若要將執行個體移出集區,請在使用 az sql mi update 更新執行個體時,在 --instance-pool-name
參數中提供空白 名稱:
az sql mi update \
--name <instance name> \
--instance-pool-name '' \
--resource-group <resource group name>
您可以選擇使用私人端點或公用端點連線到集區中的執行個體。 若要使用私人端點,您必須使用 Azure Private Link 。
若要連線到具有公用端點集區中的執行個體,請先啟用端點 ,然後允許網路安全性群組上的公用端點流量 。
在集區內建立執行個體的資料庫,與為單一執行個體建立資料庫相同。 您可以使用 Azure 入口網站、PowerShell 或 Azure CLI 來建立新資料庫。
若要使用 Azure 入口網站為現有 SQL 受控執行個體建立新資料庫,請遵循下列步驟:
在 Azure 入口網站中移至您的 [SQL 受控執行個體] 。
在 [概觀] 窗格,從命令列中選擇 [+ 新增資料庫] 以開啟 [建立 Azure SQL 受控資料庫] 頁面。
提供新資料庫的詳細資料。
選取 [檢閱 + 建立] 以檢閱新的資料庫組態,然後使用 [建立] 來部署資料庫。
若要為您的執行個體建立新的資料庫,請使用 New-AzSqlInstanceDatabase :
$databaseParams = @{
Name = "<database name>"
InstanceName = "<instance name>"
ResourceGroupName = "<resource group>"
}
New-AzSqlInstanceDatabase @databaseParams
若要為您的執行個體建立新的資料庫,請使用 az sql midb create :
az sql midb create
--managed-instance <Instance name> \
--name <Database name> \
--resource-group <Resource group name>
您可以使用 Azure 入口網站、PowerShell 或 Azure CLI,判斷集區中的資源如何使用資源。
若要取得集區內的實例清單,請使用 Azure 入口網站 來檢視 [實例集區 ] 頁面。 選取集區名稱,以在 [概觀] 頁面上檢視集 區內的實例:
您可以使用 PowerShell 來判定如何在集區內使用資源。
若要取得集區內的執行個體清單,請使用 Get-AzSqlInstance :
$instancePool | Get-AzSqlInstance
若要取得集區資源使用狀況,請使用 Get-AzSqlInstancePoolUsage :
$instancePool| Get-AzSqlInstancePoolUsage
您可以新增 -ExpandChildren 參數,以取得集區及其內部執行個體的詳細概觀:
$instancePool | Get-AzSqlInstancePoolUsage –ExpandChildren
若要列出執行個體中的資料庫,請使用 Get-AzSqlInstanceDatabase :
$databaseParams = @{
InstanceName = $instance01Name
ResourceGroupName = $resourceGroupName
}
$databases = Get-AzSqlInstanceDatabase @databaseParams
注意
若要檢查部署到集區的執行個體的限制,以及每個執行個體集區的資料庫,請檢閱資源限制 。
若要取得集區中執行個體和資源使用狀況的相關資訊,請使用 az sql instance-pool show :
sqlmipoolId=$(az sql instance-pool show --name <pool name> \
--resource-group <resource group name> --query id | cut -d '"' -f 2 ) \
az sql mi list --resource-group <resource group name> \
--query "[?instancePoolId == '$sqlmipoolId '].{sqlmiName:name}" -o tsv
您可以使用 Azure 入口網站、PowerShell 或 Azure CLI 來更新現有實例集區的設定。
使用 [Azure 入口網站 中 [實例集區設定] 頁面下的 [計算 + 記憶體 ] 窗格,更新集區的授權類型、虛擬核心大小和硬體 類型:
使用 [Azure 入口網站 中 [實例集區設定] 頁面下的 [維護 ] 窗格,更新集區的維護 時段:
您可以使用 PowerShell 來變更執行個體集區限制。
下列範例指令碼可變更授權類型、虛擬核心大小和硬體類型:
變更授權類型:
$instancePoolParams = @{
LicenseType = "BasePrice"
VCores = 16
ComputeGeneration = "Gen8"
}
$instancePool | Set-AzSqlInstancePool @instancePoolParams
您也可以判定可用的維護時段排程:
$parameters = @{
Location = $location
MaintenanceScope = "SQLManagedInstance"
}
$configurations = Get-AzMaintenancePublicConfiguration @parameters
$maintenanceWindowOptions = $configurations | Where-Object { $_ .Location -eq $location -and $_ .MaintenanceScope -eq "SQLManagedInstance" }
然後您可以透過指定時段選項來變更維護時段,例如:
$instancePoolParams = @{
MaintenanceConfigurationId = $maintenanceWindowOptions [1 ].Id
}
$instancePool | Set-AzSqlInstancePool @instancePoolParams
若要更新集區的組態設定,請使用 az sql instance-pool update :
az sql instance-pool update --name <pool name> \
--resource-group <resource group> --capacity 16 \
--license-type LicenseIncluded --family Gen8IM
若要更新維護時段:
maintenanceWindowOptions= $(az maintenance public-configuration list \
--query "[?location==<eastus2>&&contains(maintenanceScope,'SQLManagedInstance')]" )
az sql instance-pool update --name <pool name> \
--resource-group <resource group> --maint-config-id <maintenance configuration id>
如果尚未超過集區資源限制,您可以使用 PowerShell 或 Azure CLI 來修改集區內部執行個體的資源組態,
若要修改集區內部執行個體的資源參數,請使用 Set-AzSqlInstance 。
以下範例會將虛擬核心更新為 8,並將 Instance1 的儲存大小變更為 512 GB:
$instancePoolParams = @{
VCore = 8
StorageSizeInGB = 512
InstancePoolName = $instancePoolName
}
$instance1name | Set-AzSqlInstance @instancePoolParams
若要修改集區內部執行個體的資源參數,請使用 az sql mi update 。
以下範例會將虛擬核心更新為 8,並將 Instance1 的儲存大小變更為 512 GB:
az sql mi update \
--name Instance1 \
--resource-group <resource group name> \
--capacity 8 \
--storage 512
只要刪除集區中的所有執行個體,或將其移出集區,您即可使用 PowerShell 或 Azure CLI 刪除執行個體集區。
若要刪除執行個體集區,請使用 Remove-AzSqlInstancePool 。
下列範例指令碼會刪除空白執行個體集區:
$params = @{
ResourceGroupName = "<resource group name>"
Name = "<instance pool name>"
}
Remove-AzSqlInstancePool @params
若要刪除執行個體集區,請使用 az sql instance-pool delete 。
下列範例指令碼會刪除空白執行個體集區:
az sql instance-pool delete
--name <pool name>
--resource group <resource group name>
下表顯示可用的執行個體集區作業:
展開資料表
Command
Azure 入口網站
PowerShell
Azure CLI
建立執行個體集區
Yes
Yes
Yes
更新集區屬性
Yes
Yes
Yes
檢查集區使用和屬性
Yes
Yes
Yes
刪除執行個體集區
Yes
Yes
Yes
在集區內部建立新的受控執行個體
Yes
Yes
Yes
將受控執行個體移入集區
No
Yes
Yes
從集區刪除受控執行個體
Yes
Yes
Yes
將受控執行個體移出集區
No
Yes
Yes
在集區內的執行個體中建立資料庫
Yes
Yes
Yes
從 SQL 受控執行個體刪除資料庫
Yes
Yes
Yes
集區中的實例有下列限制:
集區名稱只能包含小寫字母、數字和連字號,且開頭不得為連字號。
集區中的所有執行個體都使用相同的授權模型。 當您為執行個體指定的授權模型與集區的授權模型不同時,會使用集區授權模型。 在將執行個體移出集區時,它會自動切換到全額付費授權 (LicenseType
= 'LicenseIncluded')。 手動啟用 Azure Hybrid Benefit 或混合式容錯移轉權限權益 ,以變更授權模型。
集區執行個體必須屬於相同的子網路和資源群組。 只有在集區和相同資源群組的子網路內,才能將執行個體移入和移出集區。
不支援將實例集區移至另一個子網。
只有一般用途服務層級可供使用。 下一代一般用途和 業務關鍵 服務層級無法使用。
僅支援標準系列 (Gen5) 或進階系列硬體。 不支援進階系列記憶體優化硬體。
集區中執行個體的可能數目上限為 40。
只有在集區中的所有執行個體都已刪除或移出集區之後,才能刪除執行個體集區。
您無法使用 Azure 入口網站 來將實例移入和移出集區。 使用 PowerShell 或 Azure CLI。
Azure Government 雲端中無法使用實例集區。
集區中的實例不支援下列 SQL 受管理執行個體 功能:
請在 Azure 入口網站中建立和管理執行個體集區的支援要求 。
若要在 Azure 入口網站建立新的支援要求,請執行下列步驟:
在 Azure 入口網站中開啟 [新的支援要求] 頁面。
在 [新的支援要求] 中,提供以下資訊:
針對 [問題類型] ,選擇 Technical
。
從下拉式清單中選擇適當的訂用帳戶 。
針對 [服務類型] ,選擇 SQL Managed Instance
。
針對 [資源] ,請提供 SQL 受控執行個體的名稱 (如果存在),或如果您無法在集區內部署執行個體,請選取 [一般問題] 。
針對 [摘要] ,輸入 instance pools
。
針對 [問題類型] ,選擇 Create, Scale, Stop, Start, or Delete Resources
。
針對 [問題子類型] ,選擇 Instance Pools
。
在後續頁面上選取 [下一步] ,直到您能夠 [建立] 支援要求為止。
若要建立較大的 SQL 受控執行個體部署 (不論有沒有執行個體集區),您會需要取得較大的區域配額。 如需詳細資訊,請參閱要求增加 Azure SQL Database 配額 。 執行個體集區的部署邏輯會將集區層級 的虛擬核心使用量總計與您的配額進行比較,以判斷是否允許您建立新的資源而不需要進一步增加配額。