Backup Gerenciado do SQL Server para o Microsoft Azure

Aplica-se a:SQL Server – Somente Windows

O backup gerenciado do SQL Server para o Microsoft Azure gerencia e automatiza os backups do SQL Server para o Armazenamento de Blobs do Microsoft Azure. Você pode permitir que o SQL Server determine a agenda de backup com base na carga de trabalho de transação do banco de dados ou usar opções avançadas para definir uma agenda. As configurações de retenção determinam por quanto tempo os backups são armazenados no Armazenamento de Blobs do Azure. O backup gerenciado do SQL Server no Microsoft Azure oferece suporte à restauração pontual para o período de tempo de retenção especificado.

Observação

No SQL Server 2016 (13.x), os procedimentos e o comportamento subjacente do backup gerenciado do SQL Server no Microsoft Azure foram alterados. Para obter mais informações, consulte Migrar configurações do backup gerenciado.

O backup gerenciado do SQL Server no Microsoft Azure é recomendado para instâncias do SQL Server em execução em máquinas virtuais Microsoft Azure.

Benefícios

Atualmente, a automatização de backups para vários bancos de dados requer o desenvolvimento de uma estratégia de backup, a gravação de código personalizado e o agendamento de backups. Com o backup gerenciado do SQL Server no Microsoft Azure, você pode criar um plano de backup, especificando somente o período de retenção e o local do armazenamento. Embora configurações avançadas estejam disponíveis, elas não são obrigatórias. O backup gerenciado do SQL Server no Microsoft Azure agenda, executa e mantém os backups.

O backup gerenciado do SQL Server no Microsoft Azure pode ser configurado no nível do banco de dados ou no nível da instância do SQL Server. Quando configuramos o nível de instância, quaisquer bancos de dados novos também passam por backup automaticamente. As configurações no nível do banco de dados podem ser usadas para substituir os padrões de nível de instância em uma ocorrência individual.

Você também pode criptografar os backups para obter mais segurança, e pode configurar um agendamento personalizado para controlar quando os backups são feitos. Para obter mais informações sobre os benefícios de usar o armazenamento de Blobs do Microsoft Azure para backups do SQL Server, consulte Backup e restauração do SQL Server com o Armazenamento de Blobs do Azure.

Pré-requisitos

O Armazenamento do Microsoft Azure é usado pelo backup gerenciado do SQL Server no Microsoft Azure para armazenar os arquivos de backup. Os seguintes pré-requisitos são necessários:

Pré-requisito Descrição
Conta do Microsoft Azure Você pode começar a usar o Azure com uma avaliação gratuita antes de explorar as opções de compra.
Conta do Armazenamento do Azure Os backups são armazenados no Armazenamento de Blobs do Azure associado a uma conta de armazenamento do Azure. Para obter instruções passo a passo para criar uma conta de armazenamento, confira Criar uma conta de armazenamento.
Contêiner de blob Os blobs são organizados em contêineres. Especifique o contêiner de destino para os arquivos de backup. Você pode criar um contêiner no Portal de Gerenciamento do Azure ou usar o comando New-AzureStorageContainer do Azure PowerShell.
SAS (assinatura de acesso compartilhado) O acesso ao contêiner de destino é controlado por uma SAS (Assinatura de Acesso Compartilhado). Para uma visão geral do SAS, consulte Conceder acesso limitado aos recursos do Armazenamento do Azure usando SAS (assinaturas de acesso compartilhado). É possível criar um token SAS no código ou com o comando New-AzureStorageContainerSASToken do PowerShell. Para obter um script PowerShell que simplifica esse processo, consulte Simplificando a criação de credenciais SQL com tokens SAS (Assinatura de Acesso Compartilhado) no Armazenamento do Azure com o PowerShell. O token SAS pode ser armazenado em uma Credencial SQL para uso com o backup gerenciado do SQL Server no Microsoft Azure.
SQL Server Agent O SQL Server Agent deve estar em execução para que o backup gerenciado do SQL Server no Microsoft Azure funcione. Considere a configuração da opção de inicialização como automática.

Componentes

O Transact-SQL é a interface principal para interagir com o backup gerenciado do SQL Server no Microsoft Azure. Procedimentos armazenados do sistema são usados para habilitar, configurar e monitorar o backup gerenciado do SQL Server no Microsoft Azure. As funções do sistema são usadas para recuperar parâmetros de configuração existentes, valores de parâmetro e informações do arquivo de backup. Os eventos estendidos são usados navegar por erros e avisos. Os mecanismos do alerta são habilitados por meio de trabalhos do SQL Agent e do Gerenciamento Baseado em Política do SQL Server. A lista de objetos a seguir inclui uma descrição dessa funcionalidade em relação ao backup gerenciado do SQL Server no Microsoft Azure.

Os cmdlets do PowerShell também estão disponíveis para configurar o backup gerenciado do SQL Server no Microsoft Azure. O SQL Server Management Studio oferece suporte à restauração de backups criados pelo backup gerenciado do SQL Server no Microsoft Azure usando a tarefa Restaurar Banco de Dados

Objeto do sistema Descrição
msdb Armazena os metadados, o histórico de backups de todos os backups criados pelo backup gerenciado do SQL Server no Microsoft Azure.
managed_backup.sp_backup_config_basic Habilita o backup gerenciado do SQL Server no Microsoft Azure.
managed_backup.sp_backup_config_advanced Define configurações avançadas para o backup gerenciado do SQL Server no Microsoft Azure, como criptografia.
managed_backup.sp_backup_config_schedule Cria uma agenda personalizada para o backup gerenciado do SQL Server no Microsoft Azure.
managed_backup.sp_ backup_master_switch Pausa e retoma o backup gerenciado do SQL Server no Microsoft Azure.
managed_backup.sp_set_parameter Habilita e configura o monitoramento do backup gerenciado do SQL Server no Microsoft Azure. Exemplos: habilitação de eventos estendidos, configurações de email para notificações.
managed_backup.sp_backup_on_demand Executa um backup ad-hoc para um banco de dados habilitado para usar o backup gerenciado do SQL Server no Microsoft Azure sem interromper a cadeia de logs.
managed_backup.fn_backup_db_config Retorna os valores atuais de status e configuração do backup gerenciado do SQL Server no Microsoft Azure para um banco de dados ou para todos os bancos de dados na instância.
managed_backup.fn_is_master_switch_on Retorna o status da opção mestra.
managed_backup.sp_get_backup_diagnostics Retorna os eventos registrados pelos Eventos Estendidos.
managed_backup.fn_get_parameter Retorna os valores atuais de configurações do sistema de backup como configurações de monitoramento e de email para alertas.
managed_backup.fn_available_backups Recupera os backups disponíveis para um banco de dados especificado ou para todos os bancos de dados em uma instância.
managed_backup.fn_get_current_xevent_settings Retorna as configurações atuais do evento estendido.
managed_backup.fn_get_health_status Retorna as contagens agregadas dos erros registrados pelos Eventos Estendidos para um período especificado.

Estratégia de backup

As seções a seguir descrevem uma estratégia de backup para backup gerenciado do SQL Server no Microsoft Azure.

Agendamento de backup

Você pode especificar um agendamento de backup personalizado usando o procedimento armazenado do sistema managed_backup.sp_backup_config_schedule. Se você não especificar um agendamento personalizado, o tipo de backups agendados e a frequência de backup serão determinados com base na carga de trabalho do banco de dados. As configurações de período de retenção são usadas para determinar o tempo durante o qual o arquivo de backup deverá ser mantido no armazenamento e a capacidade de recuperar o banco de dados para um determinado momento no período de retenção.

Convenções de nomenclatura do arquivo de backup

O backup gerenciado do SQL Server no Microsoft Azure usa o contêiner especificado, o que significa que você tem controle sobre o nome do contêiner. Para os arquivos de backup, os bancos de dados que não são de disponibilidade são nomeados por meio da seguinte convenção: o nome é criado usando os primeiros 40 caracteres do nome do banco de dados, o GUID do banco de dados sem o - e o carimbo de data/hora. O caractere de sublinhado é inserido entre segmentos como separadores. A extensão de arquivo .bak é usada no backup completo e a extensão de arquivo .log é usada nos backups de log. Para bancos de dados em um grupo de disponibilidade (AG), além da convenção de nomenclatura de arquivos descrita anteriormente, o GUID do banco de dados do AG é adicionado após os 40 caracteres do nome do banco de dados. O valor do GUID do banco de dados do AG é o valor de group_database_id em sys.databases.

Backup completo do banco de dados

O agente do backup gerenciado do SQL Server no Microsoft Azure programa um backup completo do banco de dados quando qualquer uma das condições a seguir é verdadeira.

  • Um banco de dados é habilitado para backup gerenciado do SQL Server no Microsoft Azure pela primeira vez ou o backup gerenciado do SQL Server no Microsoft Azure está habilitado com configurações padrão no nível da instância.

  • O crescimento do log desde o backup completo do banco de dados mais recente é igual a ou maior que 1 GB.

  • O intervalo de tempo máximo de uma semana passou desde o último backup completo do banco de dados.

  • A cadeia de log foi interrompida. O backup gerenciado do SQL Server no Microsoft Azure verifica periodicamente se a cadeia de logs está intacta comparando o primeiro e o último LSNs dos arquivos de backup. Se houver uma quebra na cadeia de logs por qualquer motivo, o backup gerenciado do SQL Server no Microsoft Azure agendará um backup completo do banco de dados. O motivo mais comum para quebras da cadeia de log provavelmente é a emissão de um comando de backup com o uso de Transact-SQL ou por meio da tarefa Backup no SQL Server Management Studio. Outros cenários comuns incluem a exclusão acidental dos arquivos de log de backup ou substituições acidentais de backup.

Backup do log de transações

O backup gerenciado do SQL Server no Microsoft Azure agenda um backup de log quando qualquer uma das seguintes condições é verdadeira:

  • Não há histórico de backup de log a ser encontrado. Isso geralmente acontece quando o backup gerenciado do SQL Server no Microsoft Azure é habilitado pela primeira vez.

  • O espaço de log de transações usado é 5 MB ou mais.

  • O intervalo de tempo máximo de 2 horas desde que o último backup de log foi atingido.

  • Quando o backup de log de transações está atrás de um backup completo de banco de dados. A meta é manter a cadeia de logs à frente do backup completo.

Configurações de período de retenção

Ao habilitar o backup, você deve definir o período de retenção em dias: o mínimo é 1 dia e o máximo são 90 dias.

O backup gerenciado do SQL Server no Microsoft Azure, com base nas configurações de período de retenção, avalia a capacidade de recuperação para um momento específico, a fim de determinar quais arquivos de backup serão mantidos e identificar os arquivos de backup a serem excluídos. A backup_finish_date do backup é usada para determinar e associar o tempo especificado pelas configurações de período de retenção.

Considerações

No caso de um banco de dados, se houver um trabalho de backup de banco de dados completo existente, o backup gerenciado do SQL Server no Microsoft Azure aguardará a conclusão do trabalho atual antes da realização de um backup de banco de dados completo no mesmo banco de dados. Da mesma forma, somente um backup de log de transações pode ser executado em um determinado momento. No entanto, um backup completo de banco de dados e um backup de log de transações podem ser executados simultaneamente. As falhas são registradas como Eventos Estendidos.

Se mais de 10 backups de bancos de dados completos simultâneos estiverem agendados, um aviso será emitido por meio do canal de depuração de Eventos Estendidos. O backup gerenciado do SQL Server no Microsoft Azure mantém uma fila de prioridade para os bancos de dados restantes que precisam de backup até que todos os backups sejam agendados e concluídos.

Observação

Não há suporte para backup gerenciado do SQL Server com servidores proxy.

Capacidade de suporte

As seguintes limitações e considerações de suporte são específicas para SQL Server:

  • Há suporte para o backup de bancos de dados de sistema master, model e msdb. Não há suporte para o backup de tempdb.

  • Todos os modelos de recuperação são compatíveis (Completo, Bulk-logged e Simples).

  • O agente do backup gerenciado do SQL Server no Microsoft Azure oferece suporte apenas a backups completos e de log do banco de dados. Não há suporte para a automação de backups de arquivos.

  • O Armazenamento de Blobs do Microsoft Azure é a única opção de armazenamento de backup compatível. Não há suporte para backups em disco ou fita.

  • O backup gerenciado do SQL Server no Microsoft Azure usa o recurso Backup no Blob de Blocos. O tamanho máximo de um blob de blocos é de 200 GB. Mas, utilizando a distribuição, o tamanho máximo de um backup individual pode ser de até 12 TB. Se seus requisitos de backup ultrapassarem esse limite, considere o uso da compactação e teste o tamanho do arquivo de backup antes de configurar o backup gerenciado do SQL Server no Microsoft Azure. Você pode realizar o teste fazendo backup em um disco local ou backup manual do armazenamento do Microsoft Azure usando a instrução Transact-SQL BACKUP TO URL. Para obter mais informações, confira Backup do SQL Server em URL para o Armazenamento de Blobs do Microsoft Azure.

  • O backup gerenciado do SQL Server no Microsoft Azure pode ter algumas limitações quando configurado com outras tecnologias com suporte para backup, alta disponibilidade ou recuperação de desastres.

  • Os backups de bancos de dados em um grupo de disponibilidade serão backups somente para cópia.