下列範例顯示如何使用 Azure PowerShell 設定維護時段。 您可以安裝 Azure PowerShell,或使用 Azure Cloud Shell。
啟動 Azure Cloud Shell
Azure Cloud Shell 是免費的互動式 Shell,可讓您用來執行本文中的步驟。 它具有預先安裝和設定的共用 Azure 工具,可與您的帳戶搭配使用。
若要開啟 Cloud Shell,請選取程式碼區塊右上角的 [試試看]。 您也可以移至 https://shell.azure.com ,從另一個瀏覽器索引標籤啟動 Cloud Shell。
當開啟 Cloud Shell 時,請確認已為您的環境選取 PowerShell。 後續的工作階段將會在 PowerShell 環境中使用 Azure CLI。 選取 [複製] 即可複製程式碼區塊,將它貼到 Cloud Shell 中,然後按 Enter 鍵加以執行。
探索可用的維護時段
設定維護時段時,每個區域都有其自己的維護時段選項,而這些選項會對應至資料庫或集區所在區域的時區。
探索 SQL Database 和彈性集區維護時段
下列範例使用 Get-AzMaintenancePublicConfiguration Cmdlet 傳回 eastus2 區域的可用維護時段。 對於資料庫和彈性集區,請將 MaintenanceScope
設定為 SQLDB
。
$location = "eastus2"
Write-Host "Available maintenance schedules in ${location}:"
$configurations = Get-AzMaintenancePublicConfiguration
$configurations | ?{ $_.Location -eq $location -and $_.MaintenanceScope -eq "SQLDB"}
建立單一資料庫時設定維護時段
下列範例會使用 New-AzSqlDatabase Cmdlet 建立新的資料庫,並設定維護時段。 -MaintenanceConfigurationId
必須設定為資料庫區域的有效值。 若要取得您區域的有效值,請參閱探索可用的維護時段。
# Set variables for your database
$resourceGroupName = "your_resource_group_name"
$serverName = "your_server_name"
$databaseName = "your_db_name"
# Set selected maintenance window
$maintenanceConfig = "SQL_EastUS2_DB_1"
Write-host "Creating a standard-series (Gen5) 2 vCore database with maintenance window ${maintenanceConfig} ..."
$database = New-AzSqlDatabase `
-ResourceGroupName $resourceGroupName `
-ServerName $serverName `
-DatabaseName $databaseName `
-Edition GeneralPurpose `
-ComputeGeneration Gen5 `
-VCore 2 `
-MaintenanceConfigurationId $maintenanceConfig
$database
建立彈性集區時設定維護時段
下列範例會使用 New-AzSqlElasticPool Cmdlet 建立新的彈性集區,並設定維護時段。 維護時段是在彈性集區上設定的,因此集區中的所有資料庫都有集區的維護時段排程。 -MaintenanceConfigurationId
必須設定為集區區域的有效值。 若要取得您區域的有效值,請參閱探索可用的維護時段。
# Set variables for your pool
$resourceGroupName = "your_resource_group_name"
$serverName = "your_server_name"
$poolName = "your_pool_name"
# Set selected maintenance window
$maintenanceConfig = "SQL_EastUS2_DB_2"
Write-host "Creating a Standard 50 pool with maintenance window ${maintenanceConfig} ..."
$pool = New-AzSqlElasticPool `
-ResourceGroupName $resourceGroupName `
-ServerName $serverName `
-ElasticPoolName $poolName `
-Edition "Standard" `
-Dtu 50 `
-DatabaseDtuMin 10 `
-DatabaseDtuMax 20 `
-MaintenanceConfigurationId $maintenanceConfig
$pool
下列範例顯示如何使用 Azure CLI 設定維護時段。 您可以安裝 Azure CLI 或使用 Azure Cloud Shell。
啟動 Azure Cloud Shell
Azure Cloud Shell 是免費的互動式 Shell,可讓您用來執行本文中的步驟。 它具有預先安裝和設定的共用 Azure 工具,可與您的帳戶搭配使用。
若要開啟 Cloud Shell,請選取程式碼區塊右上角的 [試試看]。 您也可以移至 https://shell.azure.com ,從另一個瀏覽器索引標籤啟動 Cloud Shell。
當開啟 Cloud Shell 時,請確認已為您的環境選取 Bash。 後續的工作階段將會在 Bash 環境中使用 Azure CLI。 選取 [複製] 即可複製程式碼區塊,將它貼到 Cloud Shell 中,然後按 Enter 鍵加以執行。
登入 Azure
系統會在登入的初始帳戶下自動驗證 Cloud Shell。 使用下列指令碼透過不同的訂閱登入,並將 <Subscription ID>
取代為您的 Azure 訂用帳戶識別碼。 如果您沒有 Azure 訂閱,請在開始之前,先建立 Azure 免費帳戶。
subscription="<subscriptionId>" # add subscription here
az account set -s $subscription # ...or use 'az login'
如需詳細資訊,請參閱設定有效的訂用帳戶或以互動方式登入
探索可用的維護時段
設定維護時段時,每個區域都有其自己的維護時段選項,而這些選項會對應至資料庫或集區所在區域的時區。
探索 SQL Database 和彈性集區維護時段
下列範例使用 az maintenance public-configuration list 命令傳回 eastus2 區域的可用維護時段。 對於資料庫和彈性集區,請將 maintenanceScope
設定為 SQLDB
。
location="eastus2"
az maintenance public-configuration list --query "[?location=='$location'&&contains(maintenanceScope,'SQLDB')]"
建立單一資料庫時設定維護時段
下列範例會使用 az sql db create 命令建立新的資料庫,並設定維護時段。 --maint-config-id
(或 -m
) 必須設定為資料庫區域的有效值。 若要取得您區域的有效值,請參閱探索可用的維護時段。
# Set variables for your database
resourceGroupName="your_resource_group_name"
serverName="your_server_name"
databaseName="your_db_name"
# Set selected maintenance window
maintenanceConfig="SQL_EastUS2_DB_1"
# Create database
az sql db create \
--resource-group $resourceGroupName \
--server $serverName \
--name $databaseName \
--edition GeneralPurpose \
--family Gen5 \
--capacity 2 \
--maint-config-id $maintenanceConfig
建立彈性集區時設定維護時段
下列範例會使用 az sql elastic-pool create Cmdlet 建立新的彈性集區,並設定維護時段。 維護時段是在彈性集區上設定的,因此集區中的所有資料庫都有集區的維護時段排程。 --maint-config-id
(或 -m
) 必須設定為集區區域的有效值。 若要取得您區域的有效值,請參閱探索可用的維護時段。
# Set variables for your pool
resourceGroupName="your_resource_group_name"
serverName="your_server_name"
poolName="your_pool_name"
# Set selected maintenance window
maintenanceConfig="SQL_EastUS2_DB_2"
# Create elastic pool
az sql elastic-pool create \
--resource-group $resourceGroupName \
--server $serverName \
--name $poolName \
--edition GeneralPurpose \
--family Gen5 \
--capacity 2 \
--maint-config-id $maintenanceConfig
下列步驟會使用 Azure 入口網站,在現有的資料庫或彈性集區上設定維護時段:
設定現有資料庫或彈性集區的維護時段
瀏覽至您想要設定其維護時段的 SQL 資料庫或彈性集區。
在設定功能表中,選取維護,然後選取所需的維護時段。
設定現有資料庫的維護時段
下列範例會使用 Set-AzSqlDatabase Cmdlet,在現有的資料庫上設定維護時段。
-MaintenanceConfigurationId
必須設定為資料庫區域的有效值。 若要取得您區域的有效值,請參閱探索可用的維護時段。
# Select different maintenance window
$maintenanceConfig = "SQL_EastUS2_DB_2"
Write-host "Changing database maintenance window to ${maintenanceConfig} ..."
$database = Set-AzSqlDatabase `
-ResourceGroupName $resourceGroupName `
-ServerName $serverName `
-DatabaseName $databaseName `
-MaintenanceConfigurationId $maintenanceConfig
$database
設定現有彈性集區的維護時段
下列範例會使用 Set-AzSqlElasticPool Cmdlet,在現有的彈性集區上設定維護時段。
請務必確定 $maintenanceConfig
值是集區區域的有效值。 若要取得區域的有效值,請參閱探索可用的維護時段。
# Select different maintenance window
$maintenanceConfig = "SQL_EastUS2_DB_1"
Write-host "Changing pool maintenance window to ${maintenanceConfig} ..."
$pool = Set-AzSqlElasticPool `
-ResourceGroupName $resourceGroupName `
-ServerName $serverName `
-ElasticPoolName $poolName `
-MaintenanceConfigurationId $maintenanceConfig
$pool
下列範例顯示如何使用 Azure CLI 設定維護時段。 您可以安裝 Azure CLI 或使用 Azure Cloud Shell。
設定現有資料庫的維護時段
下列範例會使用 az sql db update 命令,在現有的資料庫上設定維護時段。 --maint-config-id
(或 -m
) 必須設定為資料庫區域的有效值。 若要取得您區域的有效值,請參閱探索可用的維護時段。
# Select different maintenance window
maintenanceConfig="SQL_EastUS2_DB_2"
# Update database
az sql db update \
--resource-group $resourceGroupName \
--server $serverName \
--name $databaseName \
--maint-config-id $maintenanceConfig
設定現有彈性集區的維護時段
下列範例會使用 az sql elastic-pool update 命令,在現有的彈性集區上設定維護時段。
請務必確定 maintenanceConfig
值是集區區域的有效值。 若要取得區域的有效值,請參閱探索可用的維護時段。
# Select different maintenance window
maintenanceConfig="SQL_EastUS2_DB_1"
# Update pool
az sql elastic-pool update \
--resource-group $resourceGroupName \
--server $serverName \
--name $poolName \
--maint-config-id $maintenanceConfig