Na Instância Gerenciada de SQL do Azure, você pode configurar uma política de LTR (retenção de backup de longo prazo). Isso permite que você mantenha automaticamente backups de banco de dados em contêineres do Armazenamento de Blobs do Azure separados por até 10 anos. Você pode então recuperar um banco de dados usando esses backups com o portal do Azure, a CLI do Azure e o PowerShell.
As seções a seguir mostram como usar o portal do Microsoft Azure, o PowerShell e a CLI do Azure para configurar a retenção de backup de longo prazo, exibir backups no armazenamento de SQL do Azure e restaurar de um backup no armazenamento de SQL do Azure.
Se preferir executar os comandos de referência da CLI localmente, instale a CLI do Azure. Para execuções no Windows ou no macOS, considere executar a CLI do Azure em um contêiner do Docker. Para obter mais informações, confira Como executar a CLI do Azure em um contêiner do Docker.
Se estiver usando uma instalação local, entre com a CLI do Azure usando o comando az login. Para concluir o processo de autenticação, siga as etapas exibidas no terminal. Para ver outras opções de entrada, confira Conectar-se com a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure no primeiro uso. Para obter mais informações sobre extensões, confira Usar extensões com a CLI do Azure.
Execute az version para localizar a versão e as bibliotecas dependentes que estão instaladas. Para fazer a atualização para a versão mais recente, execute az upgrade.
Prepare o ambiente para o PowerShell.
Observação
Este artigo usa o módulo do PowerShell Azure Az, que é o módulo do PowerShell recomendado para interagir com o Azure. Para começar a usar o módulo do Az PowerShell, confira Instalar o Azure PowerShell. Para saber como migrar para o módulo Az PowerShell, confira Migrar o Azure PowerShell do AzureRM para o Az.
Importante
O módulo Azure Resource Manager do PowerShell ainda tem suporte do Banco de Dados SQL do Azure, mas todo o desenvolvimento futuro será feito no módulo Az.Sql. Para esses cmdlets, confira AzureRM.Sql. Os argumentos para os comandos no módulo Az e nos módulos AzureRm são substancialmente idênticos.
Para Get-AzSqlInstanceDatabaseLongTermRetentionBackup e Restore-AzSqlInstanceDatabase, você precisa ser membro de uma das seguintes funções:
Função Proprietário da assinatura ou
Função Colaborador da Instância Gerenciada de SQL ou
A função Colaborador de Instância Gerenciada de SQL não tem permissão para excluir backups de LTR.
As permissões de controle de acesso baseado em função (RBAC) do Azure podem ser concedidas no escopo de assinatura ou grupo de recursos. No entanto, para acessar backups de LTR que pertencem a uma instância descartada, a permissão deve ser concedida no escopo de assinatura da instância.
Você pode configurar a Instância Gerenciada de SQL para reter backups automatizados por um período maior que o período de retenção da camada de serviço.
No portal do Azure, selecione sua instância gerenciada e Backups. Na guia Políticas de retenção, selecione os bancos de dados nos quais deseja definir ou modificar as políticas de retenção de backup de longo prazo. As alterações não serão aplicadas a nenhum banco de dados deixado desmarcado.
No painel Configurar políticas, especifique o período de retenção desejado como backups semanais, mensais ou anuais. Escolha um período de retenção de “0” para indicar que não quer definir nenhuma retenção de backup de longo prazo.
Selecione Aplicar ao concluir.
Importante
Quando você habilita uma política de retenção de backup de longo prazo, pode levar até sete dias para o primeiro backup ficar visível e disponível para restauração. Para obter informações sobre a cadência de backup LTR, consulte retenção de backup de longo prazo.
Execute o comando az sql midb show para obter as informações do banco de dados de Instância Gerenciada de SQL.
az sql midb show /
--resource-group mygroup /
--managed-instance myinstance /
--name mymanageddb /
--subscription mysubscription
Execute o comando az sql midb ltr-policy set para criar uma política LTR. O exemplo a seguir define uma política de retenção de longo prazo de 12 semanas para o backup semanal.
az sql midb ltr-policy set /
--resource-group mygroup /
--managed-instance myinstance /
--name mymanageddb /
--weekly-retention "P12W"
Este exemplo define uma política de retenção de 12 semanas para o backup semanal, 5 anos para o backup anual e a semana de 15 de abril para o backup anual LTR.
Para exibir os backups de longo prazo disponíveis no portal do Azure, siga estas etapas:
No portal do Azure, selecione sua instância gerenciada e Backups. Na guia Backups disponíveis, selecione o banco de dados para o qual você deseja ver os backups disponíveis. Selecione Gerenciar.
No painel Gerenciar backups, examine os backups disponíveis.
Você também pode restaurar a partir desta página escolhendo o backup e selecionando Restaurar.
Como alternativa, para restaurar um backup da retenção de longo prazo usando o portal do Azure, siga estas etapas:
Vá para o Instância Gerenciada de SQL de destino no qual você planeja restaurar o banco de dados.
Na página Visão geral, escolha + Novo banco de dados para abrir a página Criar banco de dados gerenciado do SQL do Azure.
Na guia Noções básicas da página Criar banco de dados gerenciado do SQL do Azure, forneça detalhes de assinatura e grupo de recursos em Detalhes do projeto. Em Detalhes do banco de dados, forneça o novo nome do banco de dados que você planeja restaurar. Confirme se a instância gerenciada correta está na lista suspensa. Selecione Avançar: Fonte de dados >
Na guia Fonte de dados, escolha Restauração pontual em Usar dados existentes. Forneça a assinatura, o grupo de recursos e a instância gerenciada que contém o banco de dados de origem. Na lista suspensa Banco de dados gerenciado, escolha o banco de dados que você deseja restaurar e o ponto no tempo do qual deseja restaurar o banco de dados. A instância de origem e destino pode ser a mesma ou duas instâncias diferentes. Selecione Avançar: Configurações adicionais >
Na guia Configurações adicionais, marque a caixa para herdar a política de retenção do banco de dados de origem ou, como alternativa, você pode selecionar Configurar retenção para abrir a página Configurar políticas e definir as políticas de retenção desejadas para o banco de dados restaurado. Quando terminar, selecione Revisar + Criar.
Em Examinar + criar, quando a validação for bem-sucedida, selecione Criar para restaurar seu banco de dados.
Essa ação inicia o processo de restauração, que cria um novo banco de dados e o preenche com o banco de dados original no ponto no tempo especificado. Para obter mais informações sobre o processo de recuperação, confira Tempo de recuperação.
Para restaurar de um backup de LTR após a instância ter sido excluída, você deverá ter permissões com escopo para a assinatura da instância e a assinatura deverá estar ativa.
Observação
A partir daqui, você pode conectar o banco de dados restaurado usando o SQL Server Management Studio para executar as tarefas necessárias, tais como, extrair um pouco de dados do banco de dados restaurado para copiar para o banco de dados existente ou excluir o banco de dados existente e renomear o banco de dados restaurado com o nome do banco de dados existente. Confira recuperação pontual.
Exibir políticas LTR
Este exemplo mostra como listar as políticas LTR dentro de uma instância de um único banco de dados.
# gets the current version of LTR policy for a database
$LTRPolicy = @{
InstanceName = $instanceName
DatabaseName = $dbName
ResourceGroupName = $resourceGroup
}
Get-AzSqlInstanceDatabaseBackupLongTermRetentionPolicy @LTRPolicy
Este exemplo mostra como listar as políticas LTR de todos os bancos de dados em uma instância.
# gets the current version of LTR policy for all of the databases on an instance
$Databases = Get-AzSqlInstanceDatabase -ResourceGroupName $resourceGroup -InstanceName $instanceName
$LTRParams = @{
InstanceName = $instanceName
ResourceGroupName = $resourceGroup
}
foreach($database in $Databases.Name){
Get-AzSqlInstanceDatabaseBackupLongTermRetentionPolicy @LTRParams -DatabaseName $database
}
Limpar uma política LTR
Este exemplo mostra como limpar uma política LTR de um banco de dados.
# remove the LTR policy from a database
$LTRPolicy = @{
InstanceName = $instanceName
DatabaseName = $dbName
ResourceGroupName = $resourceGroup
RemovePolicy = $true
}
Set-AzSqlInstanceDatabaseBackupLongTermRetentionPolicy @LTRPolicy
Exibir backups LTR
Este exemplo mostra como listar os backups de LTR dentro de uma instância.
$instance = Get-AzSqlInstance -Name $instanceName -ResourceGroupName $resourceGroup
# get the list of all LTR backups in a specific Azure region
# backups are grouped by the logical database id, within each group they are ordered by the timestamp, the earliest backup first
Get-AzSqlInstanceDatabaseLongTermRetentionBackup -Location $instance.Location
# get the list of LTR backups from the Azure region under the given managed instance
$LTRBackupParam = @{
Location = $instance.Location
InstanceName = $instanceName
}
Get-AzSqlInstanceDatabaseLongTermRetentionBackup @LTRBackupParam
# get the LTR backups for a specific database from the Azure region under the given managed instance
$LTRBackupParam = @{
Location = $instance.Location
InstanceName = $instanceName
DatabaseName = $dbName
}
Get-AzSqlInstanceDatabaseLongTermRetentionBackup @LTRBackupParam
# list LTR backups only from live databases (you have option to choose All/Live/Deleted)
$LTRBackupParam = @{
Location = $instance.Location
DatabaseState = 'Live'
}
Get-AzSqlInstanceDatabaseLongTermRetentionBackup @LTRBackupParam
# only list the latest LTR backup for each database
$LTRBackupParam = @{
Location = $instance.Location
InstanceName = $instanceName
OnlyLatestPerDatabase = $true
}
Get-AzSqlInstanceDatabaseLongTermRetentionBackup @LTRBackupParam
Restaurar a partir de backups LTR
Este exemplo mostra como restaurar a partir de um backup LTR. Observe que essa interface não foi alterada, mas o parâmetro de identificação do recurso agora requer a identificação do recurso do backup LTR.
# restore a specific LTR backup as an P1 database on the instance $instanceName of the resource group $resourceGroup
$LTRBackupParam = @{
Location = $instance.Location
InstanceName = $instanceName
DatabaseName = $dbname
OnlyLatestPerDatabase = $true
}
$ltrBackup = Get-AzSqlInstanceDatabaseLongTermRetentionBackup @LTRBackupParam
$RestoreLTRParam = @{
TargetInstanceName = $instanceName
TargetResourceGroupName = $resourceGroup
TargetInstanceDatabaseName = $dbName
FromLongTermRetentionBackup = $true
ResourceId = $ltrBackup.ResourceId
}
Restore-AzSqlInstanceDatabase @RestoreLTRParam
Importante
Para restaurar de um backup de LTR após a instância ter sido excluída, você deverá ter permissões com escopo para a assinatura da instância e a assinatura deverá estar ativa. Você também deve omitir o parâmetro -ResourceGroupName opcional.
Observação
A partir daqui, você pode conectar o banco de dados restaurado usando o SQL Server Management Studio para executar as tarefas necessárias, tais como, extrair um pouco de dados do banco de dados restaurado para copiar para o banco de dados existente ou excluir o banco de dados existente e renomear o banco de dados restaurado com o nome do banco de dados existente. Confira recuperação pontual.
Excluir backups LTR
Exclua backups retidos para um banco de dados específico com uma política de LTR.
Importante
A exclusão do backup LTR é irreversível. Para excluir um backup de LTR depois que a instância tiver sido excluída, você deverá ter a permissão de escopo de Assinatura. Você pode configurar notificações sobre cada exclusão no Azure Monitor filtrando a operação "Exclui um backup de retenção de longo prazo". O log de atividades contém informações sobre quem fez a solicitação e quando. Confira Criar alertas do log de atividades para obter instruções detalhadas.
No portal do Azure, navegue até a Instância Gerenciada de SQL.
Selecione Backups. Para exibir os backups de LTR disponíveis para um banco de dados específico, selecione Gerenciar na coluna Backups de LTR disponíveis. Um painel será exibido com uma lista dos backups de LTR disponíveis para o banco de dados selecionado.
No painel Backups LTR disponíveis, revise os backups disponíveis. Selecione um backup para excluir. Selecione Excluir.
Este exemplo mostra como excluir o backup de LTR mais recente da lista de backups. Esta amostra obtém a lista de backups de LTR para um banco de dados específico da região do Azure na Instância Gerenciada de SQL fornecida.
# remove the earliest backup
# get the LTR backups for a specific database from the Azure region under the given SQL managed instance
$LTRBackupParam = @{
Location = $instance.Location
InstanceName = $instanceName
DatabaseName = $dbName
}
$ltrBackups = Get-AzSqlInstanceDatabaseLongTermRetentionBackup @LTRBackupParam
$ltrBackup = $ltrBackups[0]
Remove-AzSqlInstanceDatabaseLongTermRetentionBackup -ResourceId $ltrBackup.ResourceId
Limitações
Os backups de banco de dados obtidos de instâncias configuradas com a política de atualização do SQL Server 2022 podem ser restaurados para instâncias configuradas com a política de atualização SQL Server 2022 ou Sempre atualizado. Os backups de banco de dados obtidos de instâncias configuradas com a política de atualização sempre atualizada só podem ser restaurados para instâncias também configuradas com a política de atualização Sempre atualizado.
Próximas etapas
Para saber mais sobre backups automáticos gerados pelo serviço, consulte backups automáticos.