Veeam B&R – Criando job para proteger Microsoft SQL Server

 

Olá pessoal,

É muito comum termos a necessiade de proteger VMs com SQL Server que possuem databases que utilizam o Transaction Log. O Transaction Log armazena as transações do banco de dados até que um backup seja efetuado e pode ser utilizado para restaurar a database em qualquer ponto de quando houve as transações.

Nesse post irei demonstrar como fazer o backup das databases e do transaction log para assim ter a possibildiade de restaurar uma database para o ponto que for necessário.

 

Pré-Requisitos

 

Para configurar o backup do SQL Server e Transaction logs nós temos que seguir alguns pré-requisitos.
A conta utilizada durante o Application-Aware precisa ter as seguintes permissões:

  • A conta deve ser Administrador Local na VM;
  • A contade deve ter a role de sysadmin no SQL Server;
  • Se não for possível utilizar a role de sysadmin para o usuário, então deve ter pelo menos essas permissões:
    • Public e dbcreator role
    • Roles a nível de database:
      • Model: db_backupoperator, db_denydatareader, public;
      • Master: db_backupoperator, db_datareader, public;
      • MSDB: db_backupoperator, db_datareader, public, db_datawriter.
    • Versões do SQL Server suportadas:
      • Microsoft SQL Server 2022 (only for Windows)
      • Microsoft SQL Server 2019 (only for Windows)
      • Microsoft SQL Server 2017 (only for Windows)
      • Microsoft SQL Server 2016 SP2
      • Microsoft SQL Server 2014 SP3
      • Microsoft SQL Server 2012 SP4
      • Microsoft SQL Server 2008 R2 SP3
      • Microsoft SQL Server 2008 SP4

 

Em meu teste as VMs estão todas na mesma rede, então não preciso me preocupar com as portas necessárias para o processo funcionar.
Entretanto, em um ambiente onde o VBR está emu ma rede isolada e a VM que será protegida em outra é necessário ter muita atenção nas portas que devem ser abertas para que funcione corretamente.
Todas as portas estão listadas nos links abaixo:

 

 

Criando Job

 

Em meu ambiente eu possuo uma VM com o SQL Server 2019 Standard instalado com uma única database.
Para gerar tráfego e ter Transaction Logs para demonstrar o backup eu instalei o Veeam One e deixei coletando informações do meu ambiente. Dessa forma posso fazer backup da database do Veeam One e demonstrar o backup funcionando.

O primeiro passo é a criação do job.
Vamos criar um job de VM normalmente e habilitar a opção para fazer backup dos Transaction Logs.
Defina um nome para o Job.

 

 

Escolha as VMs que deseja criar o backup.

 

 

Defina o repositório, proxy e retenção.

 

 

Em Guest Processing vamos habilitar a opção de “Enable application-aware processing.

 

 

Clicando em Applications e depois em Edit Podemos definir quais aplicações vamos interagir.

 

 

Por padrão, as opções que precisamos já vem habilitada na aba “General”. Em VSS Settings a opção de processor os transaction logs já é habilitada por padrão.

 

 

Na aba “SQL” é onde vamos configurar o backup dos Transaction Logs.
Escolha a Terceira opção e defina de quanto em quanto tempo devemos fazer o backup dos transaction logs. Isso vai depender muito de como o sistema que utiliza a database funciona. Se muitas transações são feitas pode ser que você precise que o backup seja feito com mais frequência.
Em meu exemplo vou deixar o default de 1h para termos dados suficientes para fazer o backup.

 

 

Precisamos também definir a retenção do backup do transaction logs. Eles podem seguir a retenção do backup da VM que é a opção padrão, ou você pode definir uma retenção específica.
Nessa parte também Podemos definir quem será o Log shipping server. Por padrão o próprio servidor SQL irá enviar o Transaction Log para o repositório, mas dependendo da sua infraestrutura de rede isso pode não ser possível, então você pode definir o Log Shipping server para extrair e enviar os transaction logs para o repositório.

 

 

Agora precisamos definir o usuário que fará a conexão com o Sistema operacional para instalar o Guest Processing agent e também para conectar ao SQL Server e fazer o backup das databases e transaction log.
Como dito anteriormente, esse usuário precisa ter uma série de permissões para que funcione corretamente. Ao definir a credencial, clique em “Test Now” para validar se a conexão está funcionando.

 

 

Defina o agendamento deseja e inicie o job.
Ao iniciar veremos que duas tarefas serão iniciadas. São elas o backup da VM e o backup do transaction log.

 

 

O backup do Transaction Log irá aguardar a criação do backup da VM para então começar a processar os logs.

 

 

Assim que o backup finaliza, a primiera sessão do backup do Transaction Log irá iniciar.

 

 

Ao finalizar, veremos que a sessão entrará em um novo status “Waiting for transaction log backup interval to expire”. Ou seja, está esperando passer o tempo que definimos para coletar os transaction logs, no meu exemplo, é 1 hora.
Essa sessão não finaliza, ela sempre fica executando aguardando o próximo interval de backup do transaction logs.

 

Também é mostrado estatísticas como tamanho do último backup, RPO, quanto foi lido e quanto foi transferido.

 

 

No repositório vamos encontrar o arquivo VBK do backup full e também os arquivos VLB e VLM referents ao backup do transaction log.

 

 

Assim como o report do backup da VM, também conseguimos visualizar o report das últimas execuções do backup do transaction logs.
Ao selecionar o job teremos a opção de SQL Server log backup.

 

 

No report teremos informações das databases protegidas, assim como o resultado de cada um dos intervalos de backup do transaction log.

 

 

Importante ressaltar que quando habilitamos o backup do Transaction Log utilizando o Veeam Backup & Replication, mais nenhuma outra ferramenta pode fazer o backup da database que não seja o próprio VBR. Nós precisamos saber quando foi feito o último backup da database para ser possível continuar o backup do transaction log.
Isso é importante porque se o DBA reponsável pelo banco de dados executar um backup full manualmente utilizando outra ferramenta não iremos conseguir coletar o Transaction Log.

 

Links Importantes

 

 

Compartilhe!