A capacidade de alterar para uma janela de manutenção diferente não está disponível para todos os níveis de serviço ou todas as regiões. Para obter detalhes sobre a disponibilidade de recursos, confira Disponibilidade da janela de manutenção.
Importante
A configuração da janela de manutenção é uma operação assíncrona de execução prolongada, semelhante à alteração da camada de serviço do recurso de SQL do Azure. O recurso está disponível durante a operação, exceto uma pequena reconfiguração que ocorre no final da operação e normalmente dura até 8 segundos, mesmo no caso de transações de longa execução interrompidas. Para minimizar o impacto da reconfiguração, você deve executar a operação fora do horário de pico.
Para configurar a janela de manutenção durante a criação de um banco de dados ou um pool elástico, defina a Janela de manutenção de sua preferência na página Configurações adicionais.
Definir a janela de manutenção durante a criação de um banco de dados individual ou pool elástico
Para obter informações passo a passo sobre como criar um novo banco de dados ou pool, consulte Criar um banco de dados individual do Banco de Dados SQL do Azure.
Os exemplos a seguir mostram como configurar a janela de manutenção usando o Azure PowerShell. É possível instalar o Azure PowerShell ou usar o Azure Cloud Shell.
Iniciar o Azure Cloud Shell
O Azure Cloud Shell é um shell gratuito e interativo que poderá ser usado para executar as etapas deste artigo. Ele tem ferramentas do Azure instaladas e configuradas para usar com sua conta.
Para abrir o Cloud Shell, selecione Experimentar no canto superior direito de um bloco de código. Você também pode iniciar o Cloud Shell em uma guia separada do navegador indo até https://shell.azure.com.
Quando o Cloud Shell abrir, verifique se o PowerShell está selecionado para seu ambiente. As sessões posteriores usarão a CLI do Azure em um ambiente do PowerShell. Selecione Copiar para copiar os blocos de código, cole o código no Cloud Shell e depois pressione Enter para executá-lo.
Descobrir as janelas de manutenção disponíveis
Ao definir a janela de manutenção, cada região tem suas próprias opções de janela de manutenção que correspondem ao fuso horário da região em que o banco de dados ou o pool está localizado.
Descobrir janelas de manutenção do Banco de Dados SQL e do pool elástico
O exemplo a seguir retorna as janelas de manutenção disponíveis para a região eastus2 usando o cmdlet Get-AzMaintenancePublicConfiguration. Para bancos de dados e pools elásticos, defina MaintenanceScope
como SQLDB
.
$location = "eastus2"
Write-Host "Available maintenance schedules in ${location}:"
$configurations = Get-AzMaintenancePublicConfiguration
$configurations | ?{ $_.Location -eq $location -and $_.MaintenanceScope -eq "SQLDB"}
Definir a janela de manutenção durante a criação de um banco de dados individual
O exemplo a seguir cria um novo banco de dados e define a janela de manutenção usando o cmdlet New-AzSqlDatabase. O -MaintenanceConfigurationId
deverá ser definido como um valor válido para a região do banco de dados. Para obter valores válidos para sua região, consulte Descobrir janelas de manutenção disponíveis.
# 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
Definir a janela de manutenção durante a criação de um pool elástico
O exemplo a seguir cria um novo pool elástico e define a janela de manutenção usando o cmdlet New-AzSqlElasticPool. A janela de manutenção é definida no pool elástico. Portanto, todos os bancos de dados do pool têm o agendamento da janela de manutenção do pool. O -MaintenanceConfigurationId
deve ser definido como um valor válido para a região do pool. Para obter valores válidos para sua região, consulte Descobrir janelas de manutenção disponíveis.
# 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
Os exemplos a seguir mostram de que modo configurar a janela de manutenção usando a CLI do Azure. É possível instalar a CLI do Azure ou usar o Azure Cloud Shell.
Iniciar o Azure Cloud Shell
O Azure Cloud Shell é um shell gratuito e interativo que poderá ser usado para executar as etapas deste artigo. Ele tem ferramentas do Azure instaladas e configuradas para usar com sua conta.
Para abrir o Cloud Shell, selecione Experimentar no canto superior direito de um bloco de código. Você também pode iniciar o Cloud Shell em uma guia separada do navegador indo até https://shell.azure.com.
Quando o Cloud Shell abrir, verifique se o Bash está selecionado para o ambiente. As sessões posteriores usarão a CLI do Azure em um ambiente do Bash. Selecione Copiar para copiar os blocos de código, cole o código no Cloud Shell e depois pressione Enter para executá-lo.
Entrar no Azure
O Cloud Shell é autenticado automaticamente na conta inicial usada para entrar. Use o seguinte script para entrar usando uma assinatura diferente, substituindo <Subscription ID>
pela ID da Assinatura do Azure. Caso você não tenha uma assinatura do Azure, crie uma conta gratuita do Azure antes de começar.
subscription="<subscriptionId>" # add subscription here
az account set -s $subscription # ...or use 'az login'
Para obter mais informações, confira definir assinatura ativa ou iniciar sessão interativamente.
Descobrir as janelas de manutenção disponíveis
Ao definir a janela de manutenção, cada região tem suas próprias opções de janela de manutenção que correspondem ao fuso horário da região em que o banco de dados ou o pool está localizado.
Descobrir janelas de manutenção do Banco de Dados SQL e do pool elástico
O exemplo a seguir retorna as janelas de manutenção disponíveis para a região eastus2 usando o comando az maintenance public-configuration list. Para bancos de dados e pools elásticos, defina maintenanceScope
como SQLDB
.
location="eastus2"
az maintenance public-configuration list --query "[?location=='$location'&&contains(maintenanceScope,'SQLDB')]"
Definir a janela de manutenção durante a criação de um banco de dados individual
O exemplo a seguir cria um novo banco de dados e define a janela de manutenção usando o comando az sql db create. O --maint-config-id
(ou o -m
) deve ser definido como um valor válido para a região do banco de dados. Para obter valores válidos para sua região, consulte Descobrir janelas de manutenção disponíveis.
# 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
Definir a janela de manutenção durante a criação de um pool elástico
O exemplo a seguir cria um novo pool elástico e define a janela de manutenção usando o cmdlet az sql elastic-pool create. A janela de manutenção é definida no pool elástico. Portanto, todos os bancos de dados do pool têm o agendamento da janela de manutenção do pool. O --maint-config-id
(ou o -m
) deve ser definido como um valor válido para a região do pool. Para obter valores válidos para sua região, consulte Descobrir janelas de manutenção disponíveis.
# 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
Ao aplicar uma seleção de janela de manutenção a um banco de dados, uma breve reconfiguração (vários segundos) pode ocorrer em alguns casos, pois o Azure aplica as alterações necessárias.
As etapas a seguir definem a janela de manutenção em um banco de dados ou pool elástico existente usando o portal do Azure:
Definir a janela de manutenção para um banco de dados ou pool elástico existente
Navegue até o banco de dados SQL ou pool elástico para o qual você deseja definir a janela de manutenção.
No menu Configurações, selecione Manutenção, depois a janela de manutenção desejada.
Definir a janela de manutenção para um banco de dados existente
O exemplo a seguir define a janela de manutenção em um banco de dados existente usando o cmdlet Set-AzSqlDatabase.
O -MaintenanceConfigurationId
deve ser definido como um valor válido para a região do banco de dados. Para obter valores válidos para sua região, consulte Descobrir janelas de manutenção disponíveis.
# 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
Definir a janela de manutenção em um pool elástico existente
O exemplo a seguir define a janela de manutenção em um pool elástico existente usando o cmdlet Set-AzSqlElasticPool.
É importante verificar se o valor $maintenanceConfig
é válido para a região do pool. A fim de obter valores válidos para uma região, consulte Descobrir janelas de manutenção disponíveis.
# 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
Os exemplos a seguir mostram de que modo configurar a janela de manutenção usando a CLI do Azure. É possível instalar a CLI do Azure ou usar o Azure Cloud Shell.
Definir a janela de manutenção para um banco de dados existente
O exemplo a seguir define a janela de manutenção em um banco de dados existente usando o comando az sql db update. O --maint-config-id
(ou o -m
) deve ser definido como um valor válido para a região do banco de dados. Para obter valores válidos para sua região, consulte Descobrir janelas de manutenção disponíveis.
# 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
Definir a janela de manutenção em um pool elástico existente
O exemplo a seguir define a janela de manutenção em um pool elástico existente usando o comando az sql elastic-pool update.
É importante verificar se o valor maintenanceConfig
é válido para a região do pool. A fim de obter valores válidos para uma região, consulte Descobrir janelas de manutenção disponíveis.
# 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
Ao criar recursos do SQL do Azure como parte deste tutorial, exclua os recursos desnecessários depois de usá-los para evitar cobranças desnecessárias.