Com o Banco de Dados SQL do Azure, você pode definir uma política LTR ( de retenção de backup) de longo prazo para reter backups automaticamente em contêineres de armazenamento de Blob do Azure separados por até 10 anos. Em seguida, você pode recuperar um banco de dados usando esses backups usando o portal do Azure, a CLI do Azure ou o PowerShell.
Se preferir executar comandos de referência da CLI localmente, instale a CLI do Azure. Se você estiver executando no Windows ou macOS, considere executar a CLI do Azure em um contêiner do Docker. Para obter mais informações, consulte Como executar a CLI do Azure em um contêiner do Docker.
Se você estiver usando uma instalação local, entre na CLI do Azure usando o comando az login. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para outras opções de início de sessão, consulte Entrar com a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre extensões, consulte 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 atualizar para a versão mais recente, execute az upgrade.
Prepare seu ambiente para o PowerShell.
Observação
Este artigo usa o módulo Azure Az PowerShell, que é o módulo PowerShell recomendado para interagir com o Azure. Para começar a usar o módulo Az PowerShell, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo Az PowerShell, consulte Migrar o Azure PowerShell do AzureRM para o Az.
Importante
O módulo Az substitui AzureRM. Todo o desenvolvimento futuro é para o módulo Az.Sql.
Para Get-AzSqlDatabaseLongTermRetentionBackup e Restore-AzSqlDatabase, você precisa ser membro de uma das seguintes funções:
A função de Colaborador do SQL Server não tem permissão para excluir backups LTR.
As permissões RBAC (controle de acesso baseado em função) do Azure podem ser concedidas em de assinatura ou grupo de recursos escopo. No entanto, para aceder a backups LTR que pertencem a um servidor eliminado, essa permissão deve ser concedida no escopo de assinatura do desse servidor.
Você pode configurar o Banco de dados SQL para reter backups automatizados por um período maior do que o período de retenção da camada de serviço.
No portal do Azure, navegue até o servidor e selecione Backups. Selecione a guia Políticas de retenção para modificar as configurações de retenção de backup.
Na guia Políticas de retenção, selecione o(s) banco(s) de dados no qual você deseja definir ou modificar políticas de retenção de backup de longo prazo. Os bancos de dados não selecionados não serão afetados.
No painel Configurar políticas, especifique o período de retenção desejado para backups semanais, mensais ou anuais. Escolha um período de retenção de '0' para indicar que nenhuma retenção de backup de longo prazo deve ser definida.
Selecione Aplicar para aplicar as configurações de retenção escolhidas a todos os bancos de dados selecionados.
Importante
Quando você habilita uma política de retenção de backup de longo prazo, pode levar até 7 dias para que o primeiro backup fique visível e disponível para restauração. Para obter detalhes sobre a cadência de backup LTR, consulte de retenção de backup de longo prazo.
Execute o comando az sql db ltr-policy set para criar uma política LTR. O exemplo a seguir define uma política de retenção de longo prazo por 12 semanas para o backup semanal.
az sql db ltr-policy set \
--resource-group mygroup \
--server myserver \
--name mydb \
--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 fazer o backup LTR anual.
az sql db ltr-policy set \
--resource-group mygroup \
--server myserver \
--name mydb \
--weekly-retention "P12W" \
--yearly-retention "P5Y" \
--week-of-year 16
# get the SQL server
$subId = "<subscriptionId>"
$serverName = "<serverName>"
$resourceGroup = "<resourceGroupName>"
$dbName = "<databaseName>"
Connect-AzAccount
Select-AzSubscription -SubscriptionId $subId
$server = Get-AzSqlServer -ServerName $serverName -ResourceGroupName $resourceGroup
# create LTR policy with WeeklyRetention = 12 weeks. MonthlyRetention and YearlyRetention = 0 by default.
Set-AzSqlDatabaseBackupLongTermRetentionPolicy -ServerName $serverName -DatabaseName $dbName `
-ResourceGroupName $resourceGroup -WeeklyRetention P12W
# create LTR policy with WeeklyRetention = 12 weeks, YearlyRetention = 5 years and WeekOfYear = 16 (week of April 15). MonthlyRetention = 0 by default.
Set-AzSqlDatabaseBackupLongTermRetentionPolicy -ServerName $serverName -DatabaseName $dbName `
-ResourceGroupName $resourceGroup -WeeklyRetention P12W -YearlyRetention P5Y -WeekOfYear 16
Visualizar backups e restaurações a partir de um backup
Exiba os backups retidos para um banco de dados específico com uma política LTR e restaure a partir desses backups.
Observação
Se o servidor lógico tiver sido excluído, use os comandos da CLI do Azure ou do PowerShell para exibir e restaurar backups LTR.
No portal do Azure, navegue até o servidor e selecione Backups. Para exibir os backups LTR disponíveis para um banco de dados específico, selecione Gerenciar na coluna 'Backups LTR disponíveis' . Um painel é exibido com uma lista dos backups LTR disponíveis para o banco de dados selecionado.
No painel backups LTR disponíveis que aparece, reveja os backups disponíveis. Selecione um backup para restaurar.
Para restaurar a partir de um backup LTR disponível, selecione o backup do qual deseja restaurar e, em seguida, selecione Restaurar.
Escolha um nome para o novo banco de dados e selecione Revisar + Criar para revisar os detalhes da Restauração. Selecione Criar para restaurar seu banco de dados a partir do backup escolhido.
Na barra de ferramentas, selecione o ícone de notificação para exibir o status do trabalho de restauração.
Quando o trabalho de restauração estiver concluído, abra a página bancos de dados SQL para exibir o banco de dados recém-restaurado.
Execute o comando az sql db ltr-policy show para exibir a política LTR para um único banco de dados no servidor.
az sql db ltr-policy show \
--resource-group mygroup \
--server myserver \
--name mydb
Ver backups de LTR
Use o comando az sql db ltr-backup list para listar os backups LTR de um banco de dados. Você pode usar esse comando para encontrar o parâmetro name para uso em outros comandos.
az sql db ltr-backup list \
--location eastus2 \
--server myserver \
--database mydb
Restaure seu banco de dados a partir do backup LTR.
az sql db ltr-backup restore \
--dest-database targetdb \
--dest-server myserver \
--dest-resource-group mygroup \
--backup-id $get_backup_id
Importante
Para restaurar a partir de um backup LTR depois que o servidor ou grupo de recursos tiver sido excluído, você deve ter permissões com escopo para a assinatura do servidor e essa assinatura deve estar ativa. Você também deve omitir o parâmetro -ResourceGroupName opcional.
Observação
A partir daqui, você pode se conectar ao banco de dados restaurado usando o SQL Server Management Studio para executar as tarefas necessárias, como a troca de banco de dados. Consulte a restauração a um ponto no tempo .
Ver políticas de LTR
Este exemplo mostra como listar as políticas LTR em um servidor.
# get all LTR policies within a server
$ltrPolicies = Get-AzSqlDatabase -ResourceGroupName $resourceGroup -ServerName $serverName | `
Get-AzSqlDatabaseLongTermRetentionPolicy
# get the LTR policy of a specific database
$ltrPolicies = Get-AzSqlDatabaseBackupLongTermRetentionPolicy -ServerName $serverName -DatabaseName $dbName `
-ResourceGroupName $resourceGroup
Limpar uma política de LTR
Este exemplo mostra como limpar uma política LTR de um banco de dados.
Este exemplo mostra como listar os backups LTR em um servidor.
# 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
$ltrBackups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $server.Location
# get the list of LTR backups from the Azure region under the named server
$ltrBackups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $server.Location -ServerName $serverName
# get the LTR backups for a specific database from the Azure region under the named server
$ltrBackups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $server.Location -ServerName $serverName -DatabaseName $dbName
# list LTR backups only from live databases (you have option to choose All/Live/Deleted)
$ltrBackups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $server.Location -DatabaseState Live
# only list the latest LTR backup for each database
$ltrBackups = Get-AzSqlDatabaseLongTermRetentionBackup -Location $server.Location -ServerName $serverName -OnlyLatestPerDatabase
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 resource ID agora requer o ID do recurso de backup LTR.
# restore a specific LTR backup as an P1 database on the server $serverName of the resource group $resourceGroup
Restore-AzSqlDatabase -FromLongTermRetentionBackup -ResourceId $ltrBackup.ResourceId -ServerName $serverName -ResourceGroupName $resourceGroup `
-TargetDatabaseName $dbName -ServiceObjectiveName P1
Importante
Para restaurar a partir de um backup LTR depois que o servidor ou grupo de recursos tiver sido excluído, você deve ter permissões com escopo para a assinatura do servidor e essa assinatura deve estar ativa. Você também deve omitir o parâmetro -ResourceGroupName opcional.
Se você estiver usando backups LTR para atender a requisitos de conformidade ou outros requisitos de missão crítica, considere a realização de exercícios de recuperação periódicos para verificar se os backups LTR podem ser restaurados e se a restauração resulta em um estado esperado do banco de dados.
Observação
A partir daqui, você pode se conectar ao banco de dados restaurado usando o SQL Server Management Studio para executar as tarefas necessárias, 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 para o nome do banco de dados existente. Consulte a restauração a um ponto no tempo .
Excluir cópias de segurança LTR
Exclua backups retidos para um banco de dados específico com uma política LTR.
Importante
A exclusão do backup LTR não é reversível. Para excluir um backup LTR depois que o servidor tiver sido excluído, você deve ter 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 registro de atividades contém informações sobre quem e quando fez a solicitação. Consulte Criar alertas de registo de atividades para obter instruções detalhadas.
No portal do Azure, navegue até o servidor lógico do Banco de Dados SQL do Azure.
Selecione Backups. Para exibir os backups LTR disponíveis para um banco de dados específico, selecione Gerenciar na coluna 'Backups LTR disponíveis' . Um painel é exibido com uma lista dos backups LTR disponíveis para o banco de dados selecionado.
No painel backups LTR disponíveis que aparece, reveja os backups disponíveis. Selecione um backup para excluir. Selecione Excluir.
Se você usar backups LTR para atender a requisitos de conformidade ou outros requisitos de missão crítica:
Verifique se os backups LTR são feitos de acordo com a política configurada, seguindo as etapas descritas na seção Exibir backups usando Portal, CLI do Azure ou PowerShell.
Considere a realização de exercícios de recuperação periódicos para verificar se a restauração de backups LTR resulta no estado esperado do banco de dados.
Conteúdo relacionado
Para saber mais sobre backups automáticos gerados por serviços, consulte backups automáticos
Para saber mais sobre a retenção a longo prazo de backups, consulte .