Backup automatizado para SQL Server em VMs do Azure
Aplica-se a: SQL Server de VM do Azure
O Backup Automatizado configura automaticamente o Backup Gerenciado no Microsoft Azure para todos os bancos de dados existentes e novos no SQL Server em VMs do Azure com as edições Standard, Enterprise ou Developer do SQL Server 2016 ou posterior. Isso permite que você configure backups normais de banco de dados que utilizam o Armazenamento de Blobs do Azure durável.
Pré-requisitos
Para usar Backups Automatizados para o SQL Server na VM do Azure, você precisa:
- Um SQL Server em VMs do Azure registrado com a Extensão do Agente IaaS do SQL.
- Windows Server 2012 R2 ou posterior.
- SQL Server 2016 e posterior. Para o SQL Server 2014, consulte Backup automatizado para SQL Server 2014.
- Configuração do banco de dados:
- Os bancos de dados do usuário de destino devem usar o modelo de recuperação completa. Os bancos de dados do sistema não precisam usar o modelo de recuperação completa. No entanto, se você precisar que sejam realizados backups de log para
model
oumsdb
, será necessário usar o modelo de recuperação completa. Para obter mais informações sobre o impacto do modelo de recuperação completa em backups, veja Backup com o modelo de recuperação completa. - A VM do SQL Server foi registrada com a extensão do Agente de IaaS do SQL e o recurso de Backup Automatizado está habilitado. Como o Backup Automatizado depende da extensão, o Backup Automatizado só tem suporte em bancos de dados de destino da instância padrão, ou em uma única instância nomeada. Se não houver nenhuma instância padrão e várias instâncias nomeadas, a extensão do Agente de IaaS do SQL falhará e o Backup Automatizado não funcionará.
- Se você estiver executando backups automatizados em uma réplica secundária do grupo de disponibilidade Always On, a réplica deverá ser legível para que os backups sejam bem-sucedidos.
- Os bancos de dados do usuário de destino devem usar o modelo de recuperação completa. Os bancos de dados do sistema não precisam usar o modelo de recuperação completa. No entanto, se você precisar que sejam realizados backups de log para
Configurações
A tabela a seguir descreve as opções que podem ser configuradas para Backup Automatizado. As etapas de configuração reais variam dependendo de se você usar os comandos do Portal do Azure ou do Azure Windows PowerShell. O Backup Automatizado usa a compactação de backup por padrão e não pode ser desabilitada.
Configurações Básicas
Configuração | Intervalo (Padrão) | Descrição |
---|---|---|
Backup Automatizado | Habilitar/desabilitar (Desabilitado) | Habilita ou desabilita o Backup Automatizado para uma VM do Azure em execução no SQL Server 2016 ou posterior, Developer, Standard ou Enterprise. |
Período de Retenção | Um a 90 dias (90 dias) | O número de dias em que o serviço retém metadados de backup no msdb . Depois que o período de retenção expirar para um backup, os metadados serão excluídos do msdb , mas os arquivos não serão excluídos do contêiner de armazenamento. Você pode usar uma política de gerenciamento do ciclo de vida para sua conta de armazenamento para equilibrar a retenção de backup com o gerenciamento de custos de acordo com suas necessidades de negócios. |
Conta de armazenamento | Conta de Armazenamento do Azure | Uma conta de armazenamento do Azure a ser usada para armazenar arquivos de Backup Automatizado no armazenamento de blobs. Um contêiner é criado neste local para armazenar todos os arquivos de backup. A convenção de nomenclatura do arquivo de backup inclui a data, a hora e o GUID do banco de dados. |
Criptografia | Habilitar/desabilitar (Desabilitado) | Habilita ou desabilita a criptografia de backup. Quando a criptografia de backup é habilitada, os certificados usados para restaurar o backup ficam localizados na conta de armazenamento especificada no mesmo contêiner automaticbackup com a mesma convenção de nomenclatura. Se a senha for alterada, um novo certificado será gerado com essa senha, mas o certificado antigo permanece para restaurar backups anteriores. |
Senha | Texto da senha | Uma senha para as chaves de criptografia. A senha só é necessária quando a criptografia está habilitada. Para restaurar um backup criptografado, você deverá ter a senha correta e o certificado relacionado que foi usado no momento em que o backup foi feito. |
Configurações avançadas
Configuração | Intervalo (Padrão) | Descrição |
---|---|---|
Backups de Banco de Dados do Sistema | Habilitar/desabilitar (Desabilitado) | Quando habilitado, esse recurso também realiza backup dos bancos de dados do sistema: master , msdb e model . Para os bancos de dados msdb e model , verifique se estão no modelo de recuperação completa se quiser que sejam realizados backups de log deles. Os backups de log nunca são realizados para master e nenhum backup é realizado para tempdb . |
Agendamento de Backup | Manual/Automatizado (Automatizado) | Por padrão, o agendamento de backup é automaticamente determinado com base no crescimento do log. O agendamento de backup manual permite que o usuário especifique a janela de tempo para backups. Nesse caso, os backups ocorrem apenas na frequência especificada e durante a janela de tempo especificada de determinado dia. |
Frequência do backup completo | Diariamente/Semanalmente | Frequência de backups completos. Em ambos os casos, os backups completos são iniciados durante a janela de tempo agendada seguinte. Quando Semanalmente estiver selecionado, os backups poderão abranger vários dias até que todos os bancos de dados tenham o backup realizado com êxito. |
Hora de início do backup completo | 00:00 – 23:00 (01:00) | A hora de início de um determinado dia durante o qual os backups completos podem ocorrer. |
Janela de tempo do backup completo | 1 – 23 horas (1 hora) | A duração da janela de tempo de um determinado dia durante o qual os backups completos podem ocorrer. |
Frequência de backup do log | 5 – 60 minutos (60 minutos) | Frequência de backups de log. |
Observação
O agendamento de backup automatizado faz backups com base no crescimento do log. Não é recomendado usar backups automatizados quando os bancos de dados estão no modo de recuperação simples.
Noções básicas sobre a frequência do backup completo
É importante compreender a diferença entre backups completos diários e semanais. Considere os dois cenários de exemplo a seguir.
Cenário 1: Backups semanais
Você tem uma VM do SQL Server que contém vários bancos de dados grandes.
Na segunda-feira, você habilita o Backup Automatizado com as seguintes configurações:
- Agendamento de backup: Manual
- Frequência do backup completo: Semanal
- Hora de início do backup completo: 01:00
- Janela de tempo do backup completo: 1 hora
Isso significa que a próxima janela de backup disponível é terça-feira à 1h por 1 hora. Nesse momento, o Backup Automatizado começa a fazer backup de seus bancos de dados um de cada vez. Nesse cenário, os bancos de dados são grandes o suficiente de forma que os backups completos são concluídos para os primeiros bancos de dados. No entanto, após uma hora nem todos os bancos de dados terão tido o backup realizado.
Quando isso acontecer, o Backup Automatizado começará a fazer o backup dos bancos de dados restantes no dia seguinte, quarta-feira à 1h por uma hora. Se nem todos os bancos de dados tiverem tido o backup realizado nesse momento, ele tentará novamente no dia seguinte no mesmo horário. Isso continuará até que todos os bancos de dados tenham tido o backup realizado com êxito.
Quando chegar terça-feira novamente, o Backup Automatizado começará a fazer o backup de todos os bancos de dados mais uma vez.
Este cenário mostra que o Backup Automatizado opera apenas dentro da janela de tempo especificada e cada banco de dados tem o backup feito uma vez por semana. Isso também mostra que é possível que os backups abranjam vários dias no caso de não ser possível concluir todos os backups em um único dia.
Cenário 2: Backups diários
Você tem uma VM do SQL Server que contém vários bancos de dados grandes.
Na segunda-feira, você habilita o Backup Automatizado com as seguintes configurações:
- Agendamento de backup: Manual
- Frequência do backup completo: Diário
- Hora de início do backup completo: 22:00
- Janela de tempo do backup completo: 6 horas
Isso significa que a próxima janela de backup disponível é segunda-feira às 22h por 6 horas. Nesse momento, o Backup Automatizado começa a fazer backup de seus bancos de dados um de cada vez.
Em seguida, na terça-feira às 22h, por seis horas, os backups completos de todos os bancos de dados são iniciados novamente.
Importante
Os backups ocorrem sequencialmente durante cada intervalo. Para instâncias com um grande número de bancos de dados, agende o intervalo de backup com tempo suficiente para acomodar todos os backups. Quando os backups não podem ser concluídos dentro do intervalo determinado, alguns backups podem ser ignorados e o tempo entre backups de um banco de dados individual pode ser maior do que o tempo de intervalo de backup configurado, o que pode afetar negativamente seu RPO (objetivo de ponto de restauração).
Configurar novas VMs
Use o portal do Azure para configurar o Backup Automatizado ao criar uma máquina do SQL Server 2016 ou posterior no modelo de implantação do Resource Manager.
Na guia Configurações do SQL Server, selecione Habilitar em Backup Automatizado. Ao habilitar o Backup Automatizado, é possível definir as seguintes configurações:
- Período de retenção para backups (até 90 dias)
- Conta e contêiner de armazenamento para usar para backups
- Opção de criptografia e senha para backups
- Bancos de dados do sistema de backup
- Configurar agendamento de backup
Para criptografar o backup, selecione Habilitar. Em seguida, especifique a Senha. O Azure cria um certificado para criptografar os backups e usa a senha especificada para proteger esse certificado.
Escolha Selecionar contêiner de armazenamento para especificar o contêiner em que deseja armazenar os backups.
Por padrão, o agendamento é definido automaticamente, mas você pode criar sua própria agenda selecionando Manual, que permite configurar a frequência de backup, a janela de tempo de backup e a frequência de backup de log em minutos.
A captura de tela do portal do Azure a seguir mostra as configurações do Backup Automatizado ao criar uma nova VM do SQL Server:
Configurar VMs existentes
Para máquinas virtuais existentes do SQL Server, acesse o recurso de máquinas virtuais do SQL e selecione Backups para configurar os Backups Automatizados.
Selecione Habilitar para definir as configurações de Backup Automatizado.
Você pode configurar o período de retenção (até 90 dias), o contêiner para a conta de armazenamento em que deseja armazenar seus backups, bem como a criptografia e o agendamento de backup. Por padrão, o agendamento é automatizado.
Se você quiser definir sua própria agenda de backup, escolha Manual e configure a frequência de backup, se deseja ou não o backup dos bancos de dados do sistema e o intervalo de backup do log de transações em minutos.
Quando terminar, selecione no botão Aplicar na parte inferior da página de configurações de Backups para salvar as alterações.
Se você for habilitar o Backup Automatizado pela primeira vez, o Azure configurará o Agente de IaaS do SQL Server em segundo plano. Durante esse tempo, o portal do Azure pode não mostrar que o Backup Automatizado está configurado. Aguarde alguns minutos para que o agente seja instalado e configurado. Depois disso, o portal do Azure refletirá as novas configurações.
Configurar com o PowerShell
Você pode usar o PowerShell para configurar o Backup Automatizado. Antes de começar, faça o seguinte:
- Baixe e instale o Azure PowerShell mais recente.
- Abra o Windows PowerShell e associe-o à sua conta com o comando Connect-AzAccount.
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.
Instalar a Extensão IaaS do SQL Server
Se você tiver provisionado uma máquina virtual do SQL Server no Portal do Azure, a Extensão IaaS do SQL Server já deverá estar instalada. Você pode determinar se ela está instalada na sua VM chamando o comando Get-AzVM e examinando a propriedade Extensões.
$vmname = "yourvmname"
$resourcegroupname = "yourresourcegroupname"
(Get-AzVM -Name $vmname -ResourceGroupName $resourcegroupname).Extensions
Se a extensão Agente de IaaS do SQL Server estiver instalada, você deverá vê-la listada como "SqlIaaSAgent" ou "SQLIaaSExtension". O ProvisioningState da extensão também deverá mostrar "Bem-sucedido".
Se ela não estiver instalada ou o provisionamento tiver falhado, você poderá instalá-la com o comando a seguir. Além do grupo de recursos e do nome da VM, você também deve especificar a região ( $region) em que a VM está localizada.
$region = "EASTUS2"
Set-AzVMSqlServerExtension -VMName $vmname `
-ResourceGroupName $resourcegroupname -Name "SQLIaasExtension" `
-Version "2.0" -Location $region
Verificar as configurações atuais
Se você habilitou o Backup Automatizado durante o provisionamento, é possível usar o PowerShell para verificar a configuração atual. Execute o comando Get-AzVMSqlServerExtension e examine a propriedade AutoBackupSettings:
(Get-AzVMSqlServerExtension -VMName $vmname -ResourceGroupName $resourcegroupname).AutoBackupSettings
Você deve ver um resultado semelhante ao seguinte:
Enable : True
EnableEncryption : False
RetentionPeriod : 30
StorageUrl : https://test.blob.core.windows.net/
StorageAccessKey :
Password :
BackupSystemDbs : False
BackupScheduleType : Manual
FullBackupFrequency : WEEKLY
FullBackupStartTime : 2
FullBackupWindowHours : 2
LogBackupFrequency : 60
Se a saída mostrar que Enable está definido como False, será necessário habilitar o Backup Automatizado. A boa notícia é que você habilita e configura o Backup Automatizado da mesma maneira. Confira a próxima seção para obter mais informações.
Observação
Se você verificar as configurações imediatamente depois de fazer uma alteração, será possível que você obtenha os valores de configuração antigos. Aguarde alguns minutos e verifique as configurações novamente para se certificar de que as alterações foram aplicadas.
Configurar o Backup Automatizado
Você pode usar o PowerShell para habilitar o Backup Automatizado, bem como para modificar sua configuração e comportamento a qualquer momento.
Primeiro, selecione ou crie uma conta de armazenamento para os arquivos de backup. O script a seguir seleciona uma conta de armazenamento ou a cria se ela não existir.
$vmname = "yourvmname"
$resourcegroupname = "yourresourcegroupname"
$storage_accountname = "yourstorageaccount"
$storage_url = "https://yourstorageaccount.blob.core.windows.net/"
$storage = Get-AzStorageAccount -ResourceGroupName $resourcegroupname `
-Name $storage_accountname -ErrorAction SilentlyContinue
If (-Not $storage)
{ $storage = New-AzStorageAccount -ResourceGroupName $resourcegroupname `
-Name $storage_accountname -SkuName Standard_GRS -Location $region }
Observação
O Backup Automatizado não dá suporte ao armazenamento de backups no Armazenamento Premium, mas ele pode fazer backups de discos de VM que usam o Armazenamento Premium.
Se desejar usar um contêiner personalizado na conta de armazenamento para os backups, use o script a seguir para verificar o contêiner ou criá-lo, caso não exista.
$storage_container = "backupcontainer"
New-AzStorageContainer -Name $storage_container -Context $storage.Context
if (!(Get-AzStorageAccount -StorageAccountName $storage_accountname -ResourceGroupName $resourcegroupname | Get-AzStorageContainer | Where-Object { $_.Name -eq $storage_container })){ `
New-AzStorageContainer -Name $storage_container -Context $storage.Context `
} `
else `
{ `
Write-Warning "Container $storage_container already exists." `
}
Depois, use o seguinte script para obter uma chave de acesso para a conta de armazenamento:
$accesskey = (Get-AzStorageAccountKey -ResourceGroupName $resourcegroupname -Name $storage_accountname)[0].value
Em seguida, use o comando Update-AzSqlVM para habilitar e definir as configurações do Backup Automatizado para armazenar backups na conta de armazenamento do Azure. Neste exemplo, os backups são definidos para ser mantidos por 10 dias. Os backups de banco de dados do sistema estão habilitados. Os backups completos são agendados para serem realizados a cada sábado (semanalmente) com uma janela de tempo com início às 20h por duas horas. Os backups de log estão agendados para a cada 30 minutos.
Update-AzSqlVM -ResourceGroupName $resourcegroupname -Name $vmname -AutoBackupSettingEnable `
-AutoBackupSettingBackupScheduleType Manual `
-AutoBackupSettingFullBackupFrequency Weekly
-AutoBackupSettingDaysOfWeek Saturday `
-AutoBackupSettingFullBackupStartTime 20 `
-AutoBackupSettingFullBackupWindowHour 2 `
-AutoBackupSettingStorageAccessKey $accesskey `
-AutoBackupSettingStorageAccountUrl $storage_url `
-AutoBackupSettingRetentionPeriod 10 `
-AutoBackupSettingLogBackupFrequency 30 `
-AutoBackupSettingStorageContainerName $storage_container `
-AutoBackupSettingBackupSystemDb
Pode demorar vários minutos para instalar e configurar o Agente IaaS do SQL Server.
Para habilitar a criptografia, modifique o script anterior para passar o parâmetro -AutoBackupSettingEnableEncryption com uma senha (cadeia de caracteres segura) para o parâmetro -AutoBackupSettingPassword. O script a seguir habilita as configurações de Backup Automatizado no exemplo anterior e adiciona a criptografia.
$password = "r@ndom Va1ue"
$encryptionpassword = $password | ConvertTo-SecureString -AsPlainText -Force
Update-AzSqlVM -ResourceGroupName $resourcegroupname -Name $vmname -AutoBackupSettingEnable `
-AutoBackupSettingBackupScheduleType Manual `
-AutoBackupSettingFullBackupFrequency Weekly `
-AutoBackupSettingDaysOfWeek Saturday `
-AutoBackupSettingFullBackupStartTime 20 `
-AutoBackupSettingFullBackupWindowHour 2 `
-AutoBackupSettingStorageAccessKey $accesskey `
-AutoBackupSettingStorageAccountUrl $storage_url `
-AutoBackupSettingRetentionPeriod 10 `
-AutoBackupSettingLogBackupFrequency 30 `
-AutoBackupSettingEnableEncryption `
-AutoBackupSettingPassword $encryptionpassword `
-AutoBackupSettingStorageContainerName $storage_container `
-AutoBackupSettingBackupSystemDb
Para confirmar que as configurações estão aplicadas, verifique a configuração do Backup Automatizado.
Desabilitar o Backup automatizado
Para desabilitar o backup automatizado, execute o mesmo script com o parâmtero -AutoBackupSettingEnable definido como $false no comandoUpdate-AzSqlVM. Ao configurar o valor como $false, a função será desativada. Assim como acontece com a instalação, pode demorar vários minutos para desabilitar o Backup Automatizado.
Update-AzSqlVM -ResourceGroupName $resourcegroupname -Name $vmname -AutoBackupSettingEnable:$false
Script de exemplo
O script a seguir fornece um conjunto de variáveis que você pode personalizar para habilitar e configurar o Backup Automatizado para sua VM. No seu caso, convém personalizar o script de acordo com seus requisitos. Por exemplo, você teria que fazer alterações desejasse desabilitar o backup de bancos de dados do sistema ou habilitar a criptografia.
$vmname = "yourvmname"
$resourcegroupname = "yourresourcegroupname"
$region = "Azure region name such as EASTUS2"
$storage_accountname = "yourstorageaccount"
$storage_url = "https://yourstorageaccount.blob.core.windows.net/"
$retentionperiod = 10
$backupscheduletype = "Manual"
$fullbackupfrequency = "Weekly"
$fullbackupdayofweek = "Saturday"
$fullbackupstarthour = "20"
$fullbackupwindow = "2"
$logbackupfrequency = "30"
# ResourceGroupName is the resource group which is hosting the VM where you are deploying the SQL Server IaaS Extension
Set-AzVMSqlServerExtension -VMName $vmname `
-ResourceGroupName $resourcegroupname -Name "SQLIaasExtension" `
-Version "2.0" -Location $region
# Creates/use a storage account to store the backups
$storage = Get-AzStorageAccount -ResourceGroupName $resourcegroupname `
-Name $storage_accountname -ErrorAction SilentlyContinue
If (-Not $storage)
{ $storage = New-AzStorageAccount -ResourceGroupName $resourcegroupname `
-Name $storage_accountname -SkuName Standard_GRS -Location $region }
# Creates/uses a custom storage account container
$storage_container = "yourbackupcontainer"
if (!(Get-AzStorageAccount -StorageAccountName $storage_accountname -ResourceGroupName $resourcegroupname | Get-AzStorageContainer | Where-Object { $_.Name -eq $storage_container })){ `
New-AzStorageContainer -Name $storage_container -Context $storage.Context `
} `
else `
{ `
Write-Warning "Container $storage_container already exists." `
}
# Get storage account access key
$accesskey = (Get-AzStorageAccountKey -ResourceGroupName $resourcegroupname -Name $storage_accountname)[0].value
# Configure Automated Backup settings
Update-AzSqlVM -ResourceGroupName $resourcegroupname -Name $vmname -AutoBackupSettingEnable `
-AutoBackupSettingBackupScheduleType $backupscheduletype `
-AutoBackupSettingFullBackupFrequency $fullbackupfrequency `
-AutoBackupSettingDaysOfWeek $fullbackupdayofweek `
-AutoBackupSettingFullBackupStartTime $fullbackupstarthour `
-AutoBackupSettingFullBackupWindowHour $fullbackupwindow `
-AutoBackupSettingStorageAccessKey $accesskey `
-AutoBackupSettingStorageAccountUrl $storage_url `
-AutoBackupSettingRetentionPeriod $retentionperiod `
-AutoBackupSettingLogBackupFrequency $logbackupfrequency `
-AutoBackupSettingStorageContainerName $storage_container `
-AutoBackupSettingBackupSystemDb
Backup com certificados de criptografia
Se você decidir criptografar backups, um certificado de criptografia será gerado e salvo na mesma conta de armazenamento que os backups. Nesse cenário, você também precisará inserir uma senha que será usada para proteger os certificados de criptografia usados para criptografar e descriptografar seus backups. Com isso, você não precisa se preocupar com backups além da configuração desse recurso e também pode ter certeza de que seus backups são seguros.
Quando a criptografia de backup estiver habilitada, é altamente recomendável verificar se o certificado de criptografia foi criado e carregado com êxito para garantir a restauração dos bancos de dados. Você pode fazer isso criando um banco de dados imediatamente e verificando se os certificados de criptografia e os dados foram copiados para o contêiner recém-criado corretamente. Isso mostrará que tudo foi configurado corretamente e que nenhuma anomalia ocorreu.
Se o certificado não tiver sido carregado por algum motivo, você poderá usar o gerenciador de certificados para exportar o certificado e salvá-lo. No entanto, não convém salvá-lo na mesma VM, pois isso não garante que você tenha acesso ao certificado quando a VM estiver inativa. Para saber se o backup do certificado foi feito corretamente após alterar ou criar a configuração do Backup Automatizado, você poderá verificar os logs de eventos na VM e, se ele falhar, esta mensagem de erro será exibida:
Se o backup dos certificados tiver sido feito corretamente, você verá esta mensagem nos logs de eventos:
Como prática geral, convém verificar a integridade dos seus backups de tempos em tempos. Para poder restaurar seus backups, faça o seguinte:
Confirme se foi feito backup dos certificados de criptografia e lembre-se da senha. Se não fizer isso, você não será capaz de descriptografar e restaurar seus backups. Se o backup dos certificados não tiver sido feito corretamente por algum motivo, você poderá fazer isso manualmente executando a seguinte consulta T-SQL:
BACKUP MASTER KEY TO FILE = <file_path> ENCRYPTION BY PASSWORD = <password> BACKUP CERTIFICATE [AutoBackup_Certificate] TO FILE = <file_path> WITH PRIVATE KEY (FILE = <file_path>, ENCRYPTION BY PASSWORD = <password>)
Confirme se os arquivos de backup foram carregados com pelo menos 1 backup completo. Como erros acontecem, você deve ter certeza de que sempre tem pelo menos um backup completo antes de excluir sua VM ou, caso ela seja corrompida, para que você saiba que ainda pode acessar seus dados. Certifique-se de que o backup no armazenamento é seguro e recuperável antes de excluir os discos de dados da VM.
Monitoramento
Para monitorar o Backup Automatizado no SQL Server 2016 e posterior, há duas opções principais. Como o Backup Automatizado usa o recurso de Backup gerenciado do SQL Server, as mesmas técnicas de monitoramentos se aplicam a ambos.
Primeiro, é possível pesquisar o status chamando msdb.managed_backup.sp_get_backup_diagnostics. Ou consultar a função de valor de tabela msdb.managed_backup.fn_get_health_status.
Outra opção é aproveitar o recurso integrado Database Mail para notificações.
- Chame o procedimento armazenado msdb.managed_backup.sp_set_parameter para atribuir um endereço de email ao parâmetro SSMBackup2WANotificationEmailIds.
- Habilitar SendGrid para enviar os emails da VM do Azure.
- Use o nome de usuário e o servidor SMTP para configurar o Database Mail. Você pode configurar o Database Mail no SQL Server Management Studio ou com comandos Transact-SQL. Para obter mais informações, consulte Database Mail.
- Configurar o SQL Server Agent para usar o Database Mail.
- Verifique se a porta SMTP é permitida por meio do firewall da VM local e o grupo de segurança de rede para a VM.
Problemas conhecidos
Considere esses problemas conhecidos ao trabalhar com o recurso de Backup Automatizado.
Não é possível habilitar o Backup Automatizado no portal do Azure
A seguinte tabela lista as possíveis soluções se você tiver problemas ao habilitar o Backup Automatizado no portal do Azure:
Sintoma | Solução |
---|---|
Habilitar os Backups Automatizados falhará se a extensão de IaaS estiver em um estado com falha | Repare a extensão do Agente de IaaS do SQL se ela estiver em um estado com falha. |
Habilitar o Backup Automatizado falhará se você tiver centenas de bancos de dados | Essa é uma limitação conhecida da extensão do Agente de IaaS do SQL. Para contornar esse problema, você pode habilitar diretamente o Backup Gerenciado, em vez de usar a extensão do Agente de IaaS do SQL para configurar o Backup Automatizado. |
Habilitar o Backup Automatizado falha devido a problemas de metadados | Pare o serviço do Agente de IaaS do SQL. Execute o comando T-SQL: use msdb exec autoadmin_metadata_delete . Inicie o serviço do Agente de IaaS do SQL e tente reabilitar o Backup Automatizado no portal do Azure. |
Habilitar backups automatizados para FCI | Não há suporte para backups usando pontos de extremidade privados. Use o URI completo da conta de armazenamento no backup. |
Faça backup de diversas instâncias SQL usando o Backup Automatizado | Atualmente, o Backup Automatizado dá suporte apenas a uma instância do SQL Server. Se você tiver várias instâncias nomeadas e a instância padrão, o Backup Automatizado funcionará com a instância padrão. Se você tiver várias instâncias nomeadas e nenhuma instância padrão, a ativação do Backup Automatizado falhará. |
O Backup Automatizado não pode ser habilitado devido à conta e às permissões | Verifique o seguinte: – O SQL Server Agent está sendo executado. – A conta NT Service\SqlIaaSExtensionQuery tem as permissões adequadas para o recurso de Backup Automatizado dentro do SQL Server e também para o recurso de máquinas virtuais SQL no portal do Azure. – A conta SA não foi renomeada, embora seja aceitável desabilitá-la. |
O Backup Automatizado falha no SQL 2016 + | Habilite Permitir o acesso público aos blobs na conta de armazenamento. Isso oferece uma solução temporária para um problema conhecido. |
Problemas comuns com backups gerenciados ou automatizados
A tabela a seguir lista possíveis erros e soluções ao trabalhar com Backups Automatizados:
Sintoma | Solução |
---|---|
O Backup Automatizado/Gerenciado falha devido a erros de tempo limite/conectividade com a conta de armazenamento | Verifique se o NSG (Grupo de Segurança de Rede) da rede virtual e o Firewall do Windows não estão bloqueando as conexões de saída da VM (máquina virtual) para a conta de armazenamento na porta 443. |
O Backup Automatizado/Gerenciado falha devido à pressão de memória ou de E/S | Se você estiver ficando sem limites de E/S ou VM, veja se é possível aumentar a memória Máxima do Servidor e/ou redimensionar o disco ou a VM. Se você estiver usando um grupo de disponibilidade, considere descarregar os backups na réplica secundária. |
O Backup Automatizado falha depois de Renomear um Servidor | Se você renomeou o nome do host do computador, também precisará renomear o nome do host no SQL Server. |
Erro: A operação falhou devido a um erro interno. O argumento não deve ser uma cadeia de caracteres vazia.\r\nNome do parâmetro: Token sas Tente novamente mais tarde | Isso provavelmente é causado pelo serviço do SQL Server Agent não ter as permissões de representação corretas. Altere o serviço do SQL Server Agent para usar uma conta diferente para corrigir esse problema. |
Erro: O backup gerenciado do SQL Server no Microsoft Azure não pode definir as configurações de backup padrão para a instância do SQL Server porque a URL do contêiner era inválida. Também é possível que sua credencial SAS seja inválida | É possível ver esse erro quando há um grande número de bancos de dados. Use os Backups Gerenciados em vez dos Automatizados. |
O trabalho de Backup Automatizado falhou após a Reinicialização da VM | Verifique se o serviço SQL Agent está funcionando. |
O backup gerenciado falha intermitentemente/"Erro: tempo limite de execução expirado | Esse é um problema conhecido corrigido na CU18 para SQL Server 2019 e [KB4040376] para SQL Server 2014-2017. |
Erro: O servidor remoto retornou um erro: (403) Proibido | Repare a extensão do agente de IaaS do SQL. |
Erro 3202: Falha ao gravar na conta de armazenamento 13 (Os dados são inválidos) | Remova a política de blob imutável no contêiner de armazenamento e verifique se a conta de armazenamento está usando, no mínimo, o TLS 1.0. |
Erro 3063: gravar no dispositivo de blob de blocos de backup. O dispositivo atingiu o limite de blocos permitidos. | Isso pode acontecer se você estiver executando backups automatizados de uma réplica secundária do grupo de disponibilidade Always On que tenha a configuração Readable definida como NO . Para que os backups automatizados funcionem em uma réplica secundária, a réplica deve ser legível. |
Não é possível agendar um backup para um determinado dia | Se você usa backups automatizados para SQL Server 2014, isso é esperado. Configure um agendamento de backup a partir do SQL Server 2016. |
Falha ao desabilitar o Backup Automatizado ou o Backup Gerenciado
A seguinte tabela lista as possíveis soluções se você tiver problemas ao desabilitar o Backup Automatizado no portal do Azure:
Sintoma | Solução |
---|---|
Desabilitar os backups automatizados falhará se sua extensão de IaaS estiver em um estado com falha. | Repare a extensão do Agente de IaaS do SQL se ela estiver em um estado com falha. |
Desabilitar o Backup Automatizado falha devido a problemas de metadados | Pare o serviço do Agente de IaaS do SQL. Execute o comando T-SQL: use msdb exec autoadmin_metadata_delete . Inicie o serviço do Agente de IaaS do SQL e tente desabilitar o Backup Automatizado no portal do Azure. |
O Backup Automatizado não pode ser desabilitado devido à conta e às permissões | Verifique o seguinte: – O SQL Server Agent está sendo executado. – A conta NT Service\SqlIaaSExtensionQuery tem as permissões adequadas para o recurso de Backup Automatizado dentro do SQL Server e também para o recurso de máquinas virtuais SQL no portal do Azure. – A conta SA não foi renomeada, embora seja aceitável desabilitá-la. |
Quero descobrir qual serviço/aplicativo está fazendo os backups do SQL Server
- No Pesquisador de Objetos do SSMS (SQL Server Management Studio), clique com o botão direito do mouse no banco de dados > Selecionar Relatórios>Relatórios Padrão>Eventos de Backup e Restauração. No relatório, é possível expandir a seção Operações de backup bem-sucedidas para ver o histórico de backup.
- Se houver diversos backups no Azure ou em um dispositivo virtual, verifique se você está usando o Backup do Azure para fazer backup de bancos de dados SQL individuais ou se está realizando instantâneos da máquina virtual em um dispositivo virtual que usa a conta
NT Authority/SYSTEM
. Se não é o caso, verifique o console de Serviços do Windows (services.msc) para identificar os aplicativos de terceiros que possam estar fazendo backups.
Próximas etapas
O Backup Automatizado configura o Backup Gerenciado em VMs do Azure. Portanto, é importante ler a documentação do Backup Gerenciado para entender o comportamento e suas implicações.
Você pode encontrar outras orientações de backup e de restauração para o SQL Server em VMs do Azure no seguinte artigo: Backup e restauração do SQL Server em máquinas virtuais do Azure.
Para obter informações sobre outras tarefas de automação disponíveis, consulte Extensão do agente IaaS do SQL Server.
Para obter mais informações sobre como executar o SQL Server em VMs do Azure, veja Visão geral do SQL Server em máquinas virtuais do Azure.