Gerenciar backups automatizados - SQL Server habilitado pelo Azure Arc (preview)

Aplica-se a:SQL Server

A extensão do Azure para o SQL Server pode executar backups automaticamente para os bancos de dados do sistema e do usuário que fazem parte da instância do SQL Server habilitada pelo Azure Arc.

Este artigo explica como você pode:

  • Habilitar esses backups automatizados internos
  • Configurar agendamento de backup

Observação

Como uma versão prévia do recurso, a tecnologia apresentada neste artigo está sujeita aos Termos de uso complementares para versões prévias do Microsoft Azure.

As atualizações mais recentes estão disponíveis nas Notas sobre a versão - SQL Server habilitado pelo Azure Arc.

Os arquivos de backup são armazenados no local de backup padrão da instância SQL.

Você pode habilitar backups automatizados por meio do portal do Azure ou via a CLI az.

Para habilitar backups automatizados, defina os dias de retenção como um valor diferente de zero.

Tipos de licenças compatíveis

Os backups automatizados só estão disponíveis para licenças com Software Assurance, assinatura do SQL ou pagamento conforme o uso. Para saber mais, confira Disponibilidade de recursos de acordo com o tipo de licença.

Frequência do backup e dias de retenção

Duas propriedades podem ser configuradas para backups automatizados:

  • dias de retenção - número de dias para reter os arquivos de backup. Um número entre 1 e 35. Se o dia de retenção do backup estiver definido como 0, o backup automatizado será desabilitado e nenhum backup será feito, mesmo que a política de backup seja mantida.
  • Agendamento de backup - o cronograma no qual os backups completos diferenciais e de log de transações devem ser executados. Depende do tipo de backup:
    • Backups completos: diários ou semanais
    • Backups diferenciais a cada 12 ou 24 horas
    • Backups de log de transações: incrementos de 5 minutos.

Você também pode executar backups com um agendamento padrão:

  • Período de retenção: 7 dias
  • Backups completos: a cada 7 dias
  • Backups diferenciais a cada 24 horas.
  • Backups de log de transações: a cada 5 minutos

Nível de agendamento de backup

Você pode agendar backups em

Se o agendamento de backup no nível de instância e banco de dados estiver definido, o agendamento no nível de banco de dados terá precedência sobre o agendamento de backup no nível de instância. Se você excluir o agendamento de backup no nível de banco de dados, o agendamento de backup no nível de instância será aplicado.

Atribuir permissões

O serviço de backup na extensão do Azure para SQL Server habilitado para Arc usa a conta [NT AUTHORITY\SYSTEM] para executar os backups. Caso esteja operando o SQL Server habilitado pelo Arc com menos privilégios, uma conta local do Windows [NT Service\SQLServerExtension] executará o backup.

Observação

Se a extensão do Azure for da versão 1.1.2594.118 (lançamento de fevereiro de 2024) ou posterior, o modo de privilégio mínimo será ativado automaticamente nos próximos meses.

Se você estiver usando a extensão do Azure para SQL Server versão 1.1.2504.99 ou posterior, as permissões necessárias serão concedidas automaticamente ao [NT AUTHORITY\SYSTEM]. Você não precisa atribuir permissões manualmente.

Somente para extensões anteriores, siga as etapas abaixo para atribuir permissão à conta [NT AUTHORITY\SYSTEM].

Observação

Esse requisito se aplica à versão prévia.

  1. Adicione uma conta [NT AUTHORITY\SYSTEM] a Logons e torne-a membro da função de servidor dbcreator no nível do servidor. Execute o seguinte Transact-SQL para adicionar essa conta:

    USE master;
    GO
    CREATE LOGIN [NT AUTHORITY\SYSTEM] FROM WINDOWS WITH DEFAULT_DATABASE = [master];
    GO
    ALTER SERVER ROLE [dbcreator] ADD MEMBER [NT AUTHORITY\SYSTEM];
    GO
    
  2. Adicione a conta [NT AUTHORITY\SYSTEM] a Usuários e torne-a membro da função db_backupoperator em master, model, msdb e em cada banco de dados de usuário.

    Por exemplo:

    CREATE USER [NT AUTHORITY\SYSTEM] FOR LOGIN [NT AUTHORITY\SYSTEM];
    GO
    ALTER ROLE [db_backupoperator] ADD MEMBER [NT AUTHORITY\SYSTEM];
    GO
    
  3. Execute o código anterior para cada usuário e banco de dados do sistema (exceto tempdb).

Configurar backups automáticos

Os backups automatizados estão desabilitados por padrão.

Depois de atribuir permissões, você pode agendar backups automatizados. Depois que os backups automatizados forem configurados, a extensão Arc SQL iniciará um backup de todos os bancos de dados no local de backup padrão configurado.

Os backups são nativos do SQL Server, o que significa que todo o histórico de backups está disponível nas tabelas relacionadas ao backup no banco de dados msdb.

Nível de instância

Para ativar os backups automatizados no portal do Azure:

  1. Desabilite todas as rotinas de backup externo existentes.
  2. Navegue até o SQL Server no qual você deseja habilitar backups automatizados.
  3. Selecione Backups.
  4. Selecione Configurar políticas.
  5. Em Configurar políticas:
    • Defina um valor para dias de retenção de backup, entre 1 e 35.
    • Defina um cronograma para backups de log completos, diferenciais e transacionais.
  6. Selecione Aplicar para habilitar essa configuração.

Defina o período de retenção e a frequência para atender aos requisitos de negócios. A política de retenção deve ser maior do que a frequência de backup completo. Como medida de segurança, o processo de backup automatizado sempre mantém conjuntos de backups com frequência de pelo menos um backup completo mais os dias de retenção.

Nível de banco de dados

Para configurar o backup no nível de banco de dados personalizado individual no portal:

  1. Selecionar a instância
  2. Selecione o banco de dados
  3. Em Gerenciamento de dados à esquerda
  4. Selecione Backup (visualização) - Configurar políticas de backup de banco de dados (Visualização)
  5. Selecione Configurar políticas.
  6. Em Configurar políticas:
    • Defina um valor para dias de retenção de backup, entre 1 e 35.
    • Defina um cronograma para backups de log completos, diferenciais e transacionais.
  7. Selecione Aplicar para habilitar essa configuração.

Defina o período de retenção e a frequência para atender aos requisitos de negócios. A política de retenção deve ser maior do que a frequência de backup completo. Como medida de segurança, o processo de backup automatizado sempre mantém conjuntos de backups com frequência de pelo menos um backup completo mais os dias de retenção.

Desabilitar o backup automatizado

Se o dia de retenção do backup estiver definido como 0, o backup automatizado será desabilitado e nenhum backup será feito, mesmo que a política de backup seja mantida. Definir a retenção de backup para um valor diferente de zero habilita a política novamente.

Essa configuração se aplica ao backup no nível de instância e de banco de dados. Se o agendamento de backup no nível de banco de dados estiver desabilitado, nenhum backup será realizado para o banco de dados, mesmo que o backup no nível de instância esteja agendado.

Excluir backup automatizado

Na portal de agendamento de backup no nível do banco de dados individual, escolha Reverter política de backup para o nível de instância para excluir a política de backup no nível de banco de dados.

Para excluir o agendamento de backup no nível de instância, você pode fazê-lo por meio da CLI. Depois de excluído, nenhum backup será realizado no nível da instância ou de banco de dados. Configure um novo agendamento de backup para fazer o backup novamente.

Excluir política de nível de instância

az sql server-arc backups-policy delete --name <arc-server-name> --resource-group <resourcegroup> 

Exemplo:

az sql server-arc backups-policy delete --name MyArcServer_SQLServerPROD --resource-group MyResourceGroup  

Excluir a política de nível do banco de dados

az sql db-arc backups-policy delete --name <sql-database-name> --server <arc-server-name> --resource-group <resourcegroup> 

Exemplo:

az sql db-arc backups-policy delete --name MyDatabaseName --server MyArcServer_SQLServerPROD --resource-group MyResourceGroup 

Exibir a política de backup atual

Para exibir a política de backup atual de um SQL Server, execute o seguinte comando:

az sql server-arc backups-policy show --name <arc-server-name> --resource-group <resourcegroup>

Exemplo:

az sql server-arc backups-policy show --name MyArcServer_SQLServerPROD --resource-group MyResourceGroup

Saída:

{
  "differentialBackupHours": 24,
  "fullBackupDays": 7,
  "instanceName": "MSSQLSERVER01",
  "retentionPeriodDays": 16,
  "transactionLogBackupMinutes": 5
}

Bancos de dados do sistema de backup

Quando backups automatizados internos estão habilitados em uma instância do SQL Server habilitada pelo Azure Arc, também é feito o backup dos bancos de dados do sistema no local de backup padrão. Somente backups completos são realizados para bancos de dados do sistema.

Considerações

  • Os arquivos de backup são armazenados no local de backup padrão, conforme a configuração no nível da instância do SQL Server.

  • Para encontrar o local de backup padrão de uma instância do SQL Server (no SQL Server 2019 (15.x) e versões posteriores), execute:

    SELECT SERVERPROPERTY('InstanceDefaultBackupPath');
    
  • Para versões do SQL Server anteriores à 2019, o caminho de backup padrão é armazenado em uma configuração do Registro. Defina essa configuração com o procedimento armazenado estendido xp_instance_regwrite ou por meio do SSMS (SQL Server Management Studio). Para usar o SSMS:

    1. Conecte-se ao SQL Server habilitado para Arc do SSMS.
    2. Acesse Propriedades do servidor>Configurações do banco de dados>Locais padrão do banco de dados.
  • A política de backup configurada no nível da instância se aplica a todos os bancos de dados na instância.

  • Se os agendamentos de backup no nível de instância e de banco de dados estiverem definidos, o nível de banco de dados terá precedência sobre o agendamento de backup no nível de instância. A exclusão do agendamento de backup no nível do banco de dados reverte para o agendamento de backup no nível da instância, se houver.

  • O valor para --name deve ser o nome do SQL Server habilitado pelo Azure Arc, que geralmente está no formato [Servername_SQLservername].

  • O valor de --retention-days pode ser de 0 a 35.

  • Um valor de 0 para --retention-days indica que você não deve executar backups automatizados para a instância ou o banco de dados.

  • Se houver várias instâncias do SQL Servers no mesmo host em que a extensão do Azure para SQL Server está instalada, você precisará configurar backups automatizados separadamente para cada instância.

  • Se você alterar --retention-days depois que --backups-policy já estiver configurado, qualquer alteração terá efeito desse momento em diante e não será aplicada retroativamente.

Limitações

  • Os bancos de dados do usuário precisam estar em modelo de recuperação completa para que os backups sejam executados. Os bancos de dados que não estão no modelo de recuperação total não são copiados automaticamente.
  • No momento, não há suporte para backups automatizados de instâncias de cluster de failover Sempre ativadas (FCI).
  • Não há suporte para backups automatizados em nenhuma instância que hospede uma réplica do grupo de disponibilidade (AG).
  • Os backups automatizados só estão disponíveis para licenças com Software Assurance, assinatura do SQL ou pagamento conforme o uso. Para saber mais, confira Disponibilidade de recursos de acordo com o tipo de licença.