Backup Automatizado para em máquinas virtuais do SQL Server 2014 (Resource Manager)Automated Backup for SQL Server 2014 Virtual Machines (Resource Manager)

O backup automatizado configura automaticamente o Backup Gerenciado do Microsoft Azure para todos os bancos de dados novos e existentes em uma VM do Azure executando o SQL Server 2014 Standard ou Enterprise.Automated Backup automatically configures Managed Backup to Microsoft Azure for all existing and new databases on an Azure VM running SQL Server 2014 Standard or Enterprise. Isso permite que você configure backups regulares do banco de dados que utilizam o durável armazenamento de Blobs do Azure.This enables you to configure regular database backups that utilize durable Azure blob storage. O Backup Automatizado depende da Extensão do agente IaaS do SQL Server.Automated Backup depends on the SQL Server IaaS Agent Extension.

Observação

O Azure tem dois modelos de implantação diferentes que você pode usar para criar e trabalhar com recursos: Azure Resource Manager e clássico.Azure has two different deployment models you can use to create and work with resources: Azure Resource Manager and classic. Este artigo aborda o uso do modelo de implantação do Gerenciador de recursos.This article covers the use of the Resource Manager deployment model. Recomendamos o modelo de implantação do Gerenciador de recursos para novas implantações em vez do modelo de implantação clássico.We recommend the Resource Manager deployment model for new deployments instead of the classic deployment model.

Pré-requisitosPrerequisites

Para usar o Backup Automatizado, considere os seguintes pré-requisitos:To use Automated Backup, consider the following prerequisites:

Sistema operacional:Operating System:

  • Windows Server 2012Windows Server 2012
  • Windows Server 2012 R2Windows Server 2012 R2
  • Windows Server 2016Windows Server 2016

Versão/edição do SQL Server:SQL Server version/edition:

  • SQL Server 2014 StandardSQL Server 2014 Standard
  • SQL Server 2014 EnterpriseSQL Server 2014 Enterprise

Importante

O Backup Automatizado funciona com o SQL Server 2014.Automated Backup works with SQL Server 2014. Se você estiver usando o SQL Server 2016/2017, pode usar o Backup Automatizado v2 para fazer backup de seus bancos de dados.If you are using SQL Server 2016/2017, you can use Automated Backup v2 to back up your databases. Para saber mais, confira Backup Automatizado v2 para máquinas virtuais do Azure no SQL Server 2016.For more information, see Automated Backup v2 for SQL Server 2016 Azure Virtual Machines.

Configuração do banco de dados:Database configuration:

  • Os bancos de dados de destino devem usar o modelo de recuperação completa.Target databases must use the full recovery model. Para obter mais informações sobre o impacto do modelo de recuperação completa em backups, consulte Backup com o modelo de recuperação completa.For more information about the impact of the full recovery model on backups, see Backup Under the Full Recovery Model.
  • Os bancos de dados de destino devem estar na instância padrão do SQL Server.Target databases must be on the default SQL Server instance. A extensão de IaaS do SQL Server não oferece suporte a instâncias nomeadas.The SQL Server IaaS Extension does not support named instances.

Observação

O Backup Automatizado conta com a Extensão do agente IaaS do SQL Server.Automated Backup relies on the SQL Server IaaS Agent Extension. As imagens atuais da galeria da máquina virtual do SQL adicionam essa extensão por padrão.Current SQL virtual machine gallery images add this extension by default. Para obter mais informações, consulte Extensão do agente IaaS do SQL Server.For more information, see SQL Server IaaS Agent Extension.

ConfiguraçõesSettings

A tabela a seguir descreve as opções que podem ser configuradas para Backup Automatizado.The following table describes the options that can be configured for Automated Backup. As etapas de configuração reais variam dependendo de se você usar os comandos do Portal do Azure ou do Azure Windows PowerShell.The actual configuration steps vary depending on whether you use the Azure portal or Azure Windows PowerShell commands.

ConfiguraçãoSetting Intervalo (Padrão)Range (Default) DescriçãoDescription
Backup AutomatizadoAutomated Backup Habilitar/desabilitar (Desabilitado)Enable/Disable (Disabled) Habilita ou desabilita o Backup Automatizado de uma VM do Azure que executa o SQL Server 2014 Standard ou Enterprise.Enables or disables Automated Backup for an Azure VM running SQL Server 2014 Standard or Enterprise.
Período de retençãoRetention Period Um a 30 dias (30 dias)1-30 days (30 days) O número de dias para manter um backup.The number of days to retain a backup.
Conta de armazenamentoStorage Account Conta de Armazenamento do AzureAzure storage account Uma conta de armazenamento do Azure a ser usada para armazenar arquivos de Backup Automatizado no armazenamento de blobs.An Azure storage account to use for storing Automated Backup files in blob storage. Um contêiner é criado neste local para armazenar todos os arquivos de backup.A container is created at this location to store all backup files. A convenção de nomenclatura do arquivo de backup inclui a data, hora e nome do computador.The backup file naming convention includes the date, time, and machine name.
CriptografiaEncryption Habilitar/desabilitar (Desabilitado)Enable/Disable (Disabled) Habilita ou desabilita a criptografia.Enables or disables encryption. Quando a criptografia está habilitada, os certificados usados para restaurar o backup estão localizados na conta de armazenamento especificado no mesmo contêiner automaticbackup usando a mesma convenção de nomenclatura.When encryption is enabled, the certificates used to restore the backup are located in the specified storage account in the same automaticbackup container using the same naming convention. Se a senha for alterada, um novo certificado será gerado com essa senha, mas o certificado antigo permanece para restaurar backups anteriores.If the password changes, a new certificate is generated with that password, but the old certificate remains to restore prior backups.
SenhaPassword Texto da senhaPassword text Uma senha para as chaves de criptografia.A password for encryption keys. Isso só é necessário se a criptografia estiver habilitada.This is only required if encryption is enabled. 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.In order to restore an encrypted backup, you must have the correct password and related certificate that was used at the time the backup was taken.

Configurar no portalConfigure in the portal

Você pode usar o Portal do Azure para configurar o Backup Automatizado durante o provisionamento ou para as VMs do SQL Server 2014 existentes.You can use the Azure portal to configure Automated Backup during provisioning or for existing SQL Server 2014 VMs.

Configurar novas VMsConfigure new VMs

Use o Portal do Azure para configurar o Backup Automatizado quando criar uma nova Máquina Virtual do SQL Server 2014 no modelo de implantação do Resource Manager.Use the Azure portal to configure Automated Backup when you create a new SQL Server 2014 Virtual Machine in the Resource Manager deployment model.

Na guia configurações de SQL Server , role para baixo até backup automatizado e selecione habilitar.In the SQL Server settings tab, scroll down to Automated backup and select Enable. Você também pode especificar o período de retenção e a conta de armazenamento, bem como habilitar a criptografia, fazer backup de bancos de dados do sistema e configurar um agendamento de backup.You can also specify the retention period, and storage account, as well as enabling encryption, backing up system databases, and configuring a backup schedule. A captura de tela do portal do Azure a seguir mostra as configurações do Backup Automatizado do SQL.The following Azure portal screenshot shows the SQL Automated Backup settings.

Configuração de Backup Automatizado do SQL no portal do Azure

Configurar VMs existentesConfigure existing VMs

Observação

As capturas de tela a seguir são do recurso de máquinas virtuais do SQL dentro do portal do Azure.The following screenshots are from the SQL virtual machines resource within the Azure portal. Para VMs do SQL Server do EOS (fim do suporte) e SQL Server VMs que não foram registradas com o provedor de recursos da VM do SQL, use a guia Configuração do SQL Server para gerenciar sua VM do SQL Server em vez disso.For end-of-support (EOS) SQL server VMs, and SQL Server VMs that have not been registered with the SQL VM resource provider, use the SQL Server configuration tab to manage your SQL Server VM instead.

Para máquinas virtuais SQL Server existentes, navegue até o recurso de máquinas virtuais do SQL e, em seguida, selecione backups.For existing SQL Server virtual machines, navigate to the SQL virtual machines resource and then select Backups.

Backup Automatizado do SQL para VMs existentes

Quando terminar, selecione o botão aplicar na parte inferior da página backups para salvar as alterações.When finished, select the Apply button on the bottom of the Backups page to save your changes.

Se você for habilitar o Backup Automatizado pela primeira vez, o Azure configurará o Agente IaaS do SQL Server em segundo plano.If you are enabling Automated Backup for the first time, Azure configures the SQL Server IaaS Agent in the background. Durante esse tempo, o portal do Azure pode não mostrar que o Backup Automatizado está configurado.During this time, the Azure portal might not show that Automated Backup is configured. Aguarde alguns minutos para que o agente seja instalado e configurado.Wait several minutes for the agent to be installed, configured. Depois disso, o portal do Azure refletirá as novas configurações.After that the Azure portal will reflect the new settings.

Observação

Você também pode configurar o Backup Automatizado usando um modelo.You can also configure Automated Backup using a template. Para obter mais informações, consulte o Modelo de início rápido do Azure para o Backup Automatizado.For more information, see Azure quickstart template for Automated Backup.

Gerenciar com o PowerShellConfigure with PowerShell

Você pode usar o PowerShell para configurar o Backup Automatizado.You can use PowerShell to configure Automated Backup. Antes de começar, faça o seguinte:Before you begin, you must:

Observação

Este artigo foi atualizado para usar o novo módulo Az do Azure PowerShell.This article has been updated to use the new Azure PowerShell Az module. Você ainda pode usar o módulo AzureRM, que continuará a receber as correções de bugs até pelo menos dezembro de 2020.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Para saber mais sobre o novo módulo Az e a compatibilidade com o AzureRM, confira Apresentação do novo módulo Az do Azure PowerShell.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Para obter instruções de instalação do módulo Az, confira Instalar o Azure PowerShell.For Az module installation instructions, see Install Azure PowerShell.

Instalar a Extensão IaaS do SQL ServerInstall the SQL IaaS Extension

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.If you provisioned a SQL Server virtual machine from the Azure portal, the SQL Server IaaS Extension should already be installed. Você pode determinar se ela está instalada para a sua VM chamando o comando Get-AzVM e examinando a propriedade Extensions.You can determine if it is installed for your VM by calling Get-AzVM command and examining the Extensions property.

$vmname = "vmname"
$resourcegroupname = "resourcegroupname"

(Get-AzVM -Name $vmname -ResourceGroupName $resourcegroupname).Extensions

Se a extensão do agente IaaS do SQL Server estiver instalada, você deverá vê-lo listado como “SqlIaaSAgent” ou “SQLIaaSExtension”.If the SQL Server IaaS Agent extension is installed, you should see it listed as “SqlIaaSAgent” or “SQLIaaSExtension”. ProvisioningState para a extensão também deve mostrar "Êxito".ProvisioningState for the extension should also show “Succeeded”.

Se ele não estiver instalado ou o provisionamento tiver falhado, você poderá instalá-lo com o comando a seguir.If it is not installed or failed to be provisioned, you can install it with the following command. 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.In addition to the VM name and resource group, you must also specify the region ($region) that your VM is located in.

$region = "EASTUS2"
Set-AzVMSqlServerExtension -VMName $vmname `
    -ResourceGroupName $resourcegroupname -Name "SQLIaasExtension" `
    -Version "1.2" -Location $region

Importante

Se a extensão já não estiver instalada, a instalação da extensão reiniciará o serviço do SQL Server.If the extension is not already installed, installing the extension restarts the SQL Server service.

Verificar as configurações atuaisVerify current settings

Se você habilitou o backup automatizado durante o provisionamento, poderá usar o PowerShell para verificar a configuração atual.If you enabled automated backup during provisioning, you can use PowerShell to check your current configuration. Execute o comando Get-AzVMSqlServerExtension e examine a propriedade AutoBackupSettings:Run the Get-AzVMSqlServerExtension command and examine the AutoBackupSettings property:

(Get-AzVMSqlServerExtension -VMName $vmname -ResourceGroupName $resourcegroupname).AutoBackupSettings

Você deve ver um resultado semelhante ao seguinte:You should get output similar to the following:

Enable                      : False
EnableEncryption            : False
RetentionPeriod             : -1
StorageUrl                  : NOTSET
StorageAccessKey            : 
Password                    : 
BackupSystemDbs             : False
BackupScheduleType          : 
FullBackupFrequency         : 
FullBackupStartTime         : 
FullBackupWindowHours       : 
LogBackupFrequency          : 

Se a saída mostrar que Enable está definido como False, você precisará habilitar o backup automatizado.If your output shows that Enable is set to False, then you have to enable automated backup. A boa notícia é que você habilita e configura o Backup Automatizado da mesma maneira.The good news is that you enable and configure Automated Backup in the same way. Confira a próxima seção para obter mais informações.See the next section for this information.

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.If you check the settings immediately after making a change, it is possible that you will get back the old configuration values. Aguarde alguns minutos e verifique as configurações novamente para se certificar de que as alterações foram aplicadas.Wait a few minutes and check the settings again to make sure that your changes were applied.

Configurar o Backup AutomatizadoConfigure Automated Backup

Você pode usar o PowerShell para habilitar o Backup Automatizado, bem como para modificar sua configuração e comportamento a qualquer momento.You can use PowerShell to enable Automated Backup as well as to modify its configuration and behavior at any time.

Primeiro, selecione ou crie uma conta de armazenamento para os arquivos de backup.First, select or create a storage account for the backup files. O script a seguir seleciona uma conta de armazenamento ou a cria se ela não existir.The following script selects a storage account or creates it if it does not exist.

$storage_accountname = “yourstorageaccount”
$storage_resourcegroupname = $resourcegroupname

$storage = Get-AzStorageAccount -ResourceGroupName $resourcegroupname `
    -Name $storage_accountname -ErrorAction SilentlyContinue
If (-Not $storage)
    { $storage = New-AzStorageAccount -ResourceGroupName $storage_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.Automated Backup does not support storing backups in premium storage, but it can take backups from VM disks which use Premium Storage.

Em seguida, use o comando New-AzVMSqlServerAutoBackupConfig para habilitar e definir as configurações do Backup Automatizado e armazenar backups na conta de armazenamento do Azure.Then use the New-AzVMSqlServerAutoBackupConfig command to enable and configure the Automated Backup settings to store backups in the Azure storage account. Neste exemplo, os backups são retidos para ser mantidos por 10 dias.In this example, the backups are retained for 10 days. O segundo comando, Set-AzVMSqlServerExtension, atualiza a VM do Azure especificada com essas configurações.The second command, Set-AzVMSqlServerExtension, updates the specified Azure VM with these settings.

$autobackupconfig = New-AzVMSqlServerAutoBackupConfig -Enable `
    -RetentionPeriodInDays 10 -StorageContext $storage.Context `
    -ResourceGroupName $storage_resourcegroupname

Set-AzVMSqlServerExtension -AutoBackupSettings $autobackupconfig `
    -VMName $vmname -ResourceGroupName $resourcegroupname

Pode demorar vários minutos para instalar e configurar o Agente IaaS do SQL Server.It could take several minutes to install and configure the SQL Server IaaS Agent.

Observação

Há outras configurações para New-AzVMSqlServerAutoBackupConfig que se aplicam somente ao SQL Server 2016 e ao Backup Automatizado v2.There are other settings for New-AzVMSqlServerAutoBackupConfig that apply only to SQL Server 2016 and Automated Backup v2. O SQL Server 2014 não dá suporte às seguintes configurações: BackupSystemDbs, BackupScheduleType, FullBackupFrequency, FullBackupStartHour, FullBackupWindowInHours e LogBackupFrequencyInMinutes.SQL Server 2014 does not support the following settings: BackupSystemDbs, BackupScheduleType, FullBackupFrequency, FullBackupStartHour, FullBackupWindowInHours, and LogBackupFrequencyInMinutes. Se você tentar definir essas configurações em uma máquina virtual do SQL Server 2014, não haverá erro, mas as configurações não serão aplicadas.If you attempt to configure these settings on a SQL Server 2014 virtual machine, there is no error, but the settings do not get applied. Se você quiser usar essas configurações em uma máquina virtual do SQL Server 2016, veja Backup automatizado v2 para máquinas virtuais do Azure no SQL Server 2016.If you want to use these settings on a SQL Server 2016 virtual machine, see Automated Backup v2 for SQL Server 2016 Azure Virtual Machines.

Para habilitar a criptografia, modifique o script anterior para passar o parâmetro EnableEncryption e uma senha (cadeia de caracteres segura) para o parâmetro CertificatePassword.To enable encryption, modify the previous script to pass the EnableEncryption parameter along with a password (secure string) for the CertificatePassword parameter. O script a seguir habilita as configurações de Backup Automatizado no exemplo anterior e adiciona a criptografia.The following script enables the Automated Backup settings in the previous example and adds encryption.

$password = "P@ssw0rd"
$encryptionpassword = $password | ConvertTo-SecureString -AsPlainText -Force

$autobackupconfig = New-AzVMSqlServerAutoBackupConfig -Enable `
    -EnableEncryption -CertificatePassword $encryptionpassword `
    -RetentionPeriodInDays 10 -StorageContext $storage.Context `
    -ResourceGroupName $storage_resourcegroupname

Set-AzVMSqlServerExtension -AutoBackupSettings $autobackupconfig `
    -VMName $vmname -ResourceGroupName $resourcegroupname

Para confirmar que as configurações estão aplicadas, verifique a configuração do Backup Automatizado.To confirm your settings are applied, verify the Automated Backup configuration.

Desabilitar o Backup automatizadoDisable Automated Backup

Para desabilitar o Backup Automatizado, execute o mesmo script sem o parâmetro -Enable para o comando New-AzVMSqlServerAutoBackupConfig.To disable Automated Backup, run the same script without the -Enable parameter to the New-AzVMSqlServerAutoBackupConfig command. A ausência do parâmetro -Enable sinaliza o comando para desabilitar o recurso.The absence of the -Enable parameter signals the command to disable the feature. Assim como acontece com a instalação, pode demorar vários minutos para desabilitar o Backup Automatizado.As with installation, it can take several minutes to disable Automated Backup.

$autobackupconfig = New-AzVMSqlServerAutoBackupConfig -ResourceGroupName $storage_resourcegroupname

Set-AzVMSqlServerExtension -AutoBackupSettings $autobackupconfig `
    -VMName $vmname -ResourceGroupName $resourcegroupname

Script de exemploExample script

O script a seguir fornece um conjunto de variáveis que você pode personalizar para habilitar e configurar o Backup Automatizado para sua VM.The following script provides a set of variables that you can customize to enable and configure Automated Backup for your VM. No seu caso, convém personalizar o script de acordo com seus requisitos.In your case, you might need to customize the script based on your requirements. Por exemplo, você teria que fazer alterações desejasse desabilitar o backup de bancos de dados do sistema ou habilitar a criptografia.For example, you would have to make changes if you wanted to disable the backup of system databases or enable encryption.

$vmname = "yourvmname"
$resourcegroupname = "vmresourcegroupname"
$region = “Azure region name such as EASTUS2”
$storage_accountname = “storageaccountname”
$storage_resourcegroupname = $resourcegroupname
$retentionperiod = 10

# ResourceGroupName is the resource group which is hosting the VM where you are deploying the SQL IaaS Extension

Set-AzVMSqlServerExtension -VMName $vmname `
    -ResourceGroupName $resourcegroupname -Name "SQLIaasExtension" `
    -Version "1.2" -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 $storage_resourcegroupname `
    -Name $storage_accountname -SkuName Standard_GRS -Location $region }

# Configure Automated Backup settings

$autobackupconfig = New-AzVMSqlServerAutoBackupConfig -Enable `
    -RetentionPeriodInDays $retentionperiod -StorageContext $storage.Context `
    -ResourceGroupName $storage_resourcegroupname

# Apply the Automated Backup settings to the VM

Set-AzVMSqlServerExtension -AutoBackupSettings $autobackupconfig `
    -VMName $vmname -ResourceGroupName $resourcegroupname

MonitorandoMonitoring

Para monitorar o Backup Automatizado no SQL Server 2014, há duas opções principais.To monitor Automated Backup on SQL Server 2014, you have two main options. Como o Backup Automatizado usa o recurso de Backup gerenciado do SQL Server, as mesmas técnicas de monitoramentos se aplicam a ambos.Because Automated Backup uses the SQL Server Managed Backup feature, the same monitoring techniques apply to both.

Primeiro, você poderá sondar o status chamando msdb.smart_admin.sp_get_backup_diagnostics.First, you can poll the status by calling msdb.smart_admin.sp_get_backup_diagnostics. Ou consultar a função msdb.smart_admin.fn_get_health_status com valor de tabela.Or query the msdb.smart_admin.fn_get_health_status table valued function.

Observação

O esquema para o Backup Gerenciado no SQL Server 2014 é msdb.smart_admin.The schema for Managed Backup in SQL Server 2014 is msdb.smart_admin. No SQL Server 2016 isso alterou para msdb.managed_backup e os tópicos de referência utilizam este esquema mais recente.In SQL Server 2016 this changed to msdb.managed_backup, and the reference topics use this newer schema. Mas para o SQL Server 2014, você deve continuar a usar o esquema smart_admin para todos os Objetos de Backup gerenciados.But for SQL Server 2014, you must continue to use the smart_admin schema for all Managed Backup objects.

Outra opção é aproveitar o recurso integrado Database Mail para notificações.Another option is to take advantage of the built-in Database Mail feature for notifications.

  1. Chame o msdb.smart_admin.sp_set_parameter procedimento armazenado para atribuir um endereço de email para parâmetro SSMBackup2WANotificationEmailIds.Call the msdb.smart_admin.sp_set_parameter stored procedure to assign an email address to the SSMBackup2WANotificationEmailIds parameter.
  2. Habilitar SendGrid para enviar os emails da VM do Azure.Enable SendGrid to send the emails from the Azure VM.
  3. Use o nome de usuário e o servidor SMTP para configurar o Database Mail.Use the SMTP server and user name to configure Database Mail. Você pode configurar o Database Mail no SQL Server Management Studio ou com comandos Transact-SQL.You can configure Database Mail in SQL Server Management Studio or with Transact-SQL commands. Para obter mais informações, consulte Database Mail.For more information, see Database Mail.
  4. Configurar o SQL Server Agent para usar o Database Mail.Configure SQL Server Agent to use Database Mail.
  5. Verifique se a porta SMTP é permitida por meio do firewall da VM local e o grupo de segurança de rede para a VM.Verify that the SMTP port is allowed both through the local VM firewall and the network security group for the VM.

Próximas etapasNext steps

O Backup Automatizado configura o Backup Gerenciado em VMs do Azure.Automated Backup configures Managed Backup on Azure VMs. Portanto, é importante ler a documentação do Backup Gerenciado no SQL Server 2014.So it is important to review the documentation for Managed Backup on SQL Server 2014.

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 para o SQL Server em Máquinas Virtuais do Azure.You can find additional backup and restore guidance for SQL Server on Azure VMs in the following article: Backup and Restore for SQL Server in Azure Virtual Machines.

Para obter informações sobre outras tarefas de automação disponíveis, consulte Extensão do agente IaaS do SQL Server.For information about other available automation tasks, see SQL Server IaaS Agent Extension.

Para obter mais informações sobre como executar o SQL Server em VMs do Azure, consulte Visão geral do SQL Server em Máquinas Virtuais do Azure.For more information about running SQL Server on Azure VMs, see SQL Server on Azure Virtual Machines overview.