若要在创建数据库或弹性池时配置维护时段,请在“其他设置”页上设置所需的“维护时段”。
创建单一数据库或弹性池时设置维护时段
有关创建新数据库或池的分步操作信息,请参阅创建 Azure SQL 数据库单一数据库。
以下示例演示如何使用 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 数据库和弹性池维护时段
以下示例使用 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 订阅 ID。 如果没有 Azure 订阅,请在开始之前创建一个 Azure 免费帐户。
subscription="<subscriptionId>" # add subscription here
az account set -s $subscription # ...or use 'az login'
有关详细信息,请参阅设置有效的订阅或以交互方式登录
发现可用维护时段
设置维护时段时,每个区域会提供自己的维护时段选项,这些选项对应于数据库或池所在区域的时区。
发现 SQL 数据库和弹性池维护时段
以下示例使用 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