Plugin Microsoft SQL Bacula Enterprise – Guia Rápido

Este Guia Rápido apresenta como usar o recurso Plugin MSSQL VDI do Bacula Enterprise. Ele suporta:

  • Backups full e diferenciais
  • Backup em nível incremental (log)
  • Backup em nível de banco de dados
  • Capacidade de incluir / excluir bancos de dados do Jobde backup
  • Backups “somente cópia”
  • Restaurar arquivos de backup do MSSQL no disco
  • Fluxo de fluxo de dados diretamente para o Storage Daemon do Bacula
  • PITR
  • Backup de Cluster MSSQL

O Plug-in do MSSQL VDI foi testado e é suportado no Windows 2003 R2, Windows 2008 R2, Windows 2012, Windows 2016 e mais recentes, MSSQL 2005, em 2008, 2014 e superior.

Instalação

O pacote de plug-in do MSSQL VDI é normalmente instalado no mesmo host do Windows, onde o Bacula Client também deve ser instalado.

Baixe o instalador do Cliente e Plugin do seu repositório exclusivo de clientes:

bacula-enterprise-win64-10.0.2.exe  
bacula-enterprise-win64MSSQLPlugin-10.0.2.exe

Prossiga para a configuração usual do Cliente se ainda não estiver configurado, sempre como Administrador.

Após a instalação do Plugin, reinicie o Serviço de Cliente Bacula no Gerenciador de Serviços do Windows (services.msc) para carregar a biblioteca de plugins. Um comando status client do bconsole/bweb exibirá todos os plugins carregados.

Se o banco de dados do SQL Server estiver sendo executado em uma conta que não seja NT AUTHORIZED / SYSTEM, será obrigatório configurar a instância do SQL Server para permitir que a conta do serviço Bacula File Daemon se conecte e realize operações de backup. Por padrão, o serviço Bacula File Daemon é executado na conta NT AUTHORIZED / SYSTEM.

A permissão sysadmin pode ser concedida com o seguinte comando SQL:

ALTER SERVER ROLE [sysadmin] ADD MEMBER [NT AUTHORITYSYSTEM]

Ou como mostrado na Figura 1, pelo MSSQL Studio:

Plugin Microsoft SQL Bacula Enterprise - Guia Rápido 1

Figura 1. Permissão Usuário Backup Bacula Sysadmin

A Restauração Point In Time (PITR) requer que o banco de dados seja configurado com o modelo de recuperação completa (full recovery model). Se o banco de dados usar o modelo de recuperação simples, a transação arquivo de log será truncada após cada ponto de verificação. Para mais informações, veja https://msdn.microsoft.com/en-us/library/ms189275.aspx.

O recurso MSSQL “Backup de log de transações” é implementado como o nível “Incremental” com o Bacula. O banco de dados deve ser configurado com o modelo de recuperação completo (full recovery model) ou modelo de recuperação em massa (bulk-logged recovery model). Se o banco de dados usar o modelo de recuperação simples, o arquivo de log de transações será truncado após cada ponto de verificação. A restauração completa será possível, mas não a restauração para um ponto no tempo. Para mais informações, veja https://msdn.microsoft.com/en-us/library/ms189275.aspx.

Configuração

Configuração do FileSet

Conforme mostrado na Figura 2, crie um FileSet e continue com o include – Edit Plugin Options. Selecione MSSQL Plugin na caixa de combinação se estiver usando bweb.

Plugin Microsoft SQL Bacula Enterprise - Guia Rápido 2

Figura 2. FileSet Include, Opções de Plugin de Edição, Configuração MSSQL VDI.

Conforme exibido na Figura 3, se nada for alterado, o plug-in tentará fazer backup de todos os bancos de dados de instâncias de backup do MSSQL (o tempdb é excluído por padrão) e o seguinte é a configuração resultante.

Plugin Microsoft SQL Bacula Enterprise - Guia Rápido 3

Figura 3. Configuração do MSSQL VDI para Autenticação do Windows (padrão) e Backup de Todos os Bancos de Dados

Um usuário e senha do Windows também podem ser especificados da seguinte forma:

mssql: username=hfaria password=x

É possível selecionar diferentes instâncias ou bancos de dados para fazer o backup com os seguintes parâmetros: instance=, database=, include=, exclude=, domain=. Por exemplo.

mssql: include=test2 include=prod1 include=r7*

Outro exemplo, com instância MSSQL específica, autenticação de usuário do Windows (para MSSQL troque para server), senha, domínio e especificação de nome de host (local).

mssql: instance=MSSQLSERVER authtype=windows hostname=. domain=bacula.com.br user=usr_bacula password=xxx

Uma lista completa das opções de plug-in do MSSQL VDI está disponível no whitepaper de referência.

Como exibido na Figura 4, ainda na configuração FileSet, o MSSQL Plugin não usa snapshots VSS para executar o backup, a menos que alguma pasta de disco esteja presente no conjunto de arquivos, “Enable VSS” deve ser definido como “no” (desmarcado).

Plugin Microsoft SQL Bacula Enterprise - Guia Rápido 4

Figura 4. FileSet MSSQL VDI com opção VSS Desmarcada

Se você estiver utilizando um cluster Microsoft SQL o método pardão de conexão do backup (Shared Memory) não é suportado. Pode ser também que você deseje utilizar outro método, a exemplo de ODBC.

Crie um novo DSN de Sistema (System DSN) no Servidor Windows Cliente do Backup, lembrando de salvar os nomes DSN e do Driver. Ref.: https://support.microsoft.com/en-us/help/965049/how-to-set-up-a-microsoft-sql-server-odbc-data-source

Neste caso, o FileSet poderia ser configurado assim:

mssql: instance=MSSQLSERVER connection_string="DSN=bacula;Driver={ODBC Driver 13 for SQL Server}"

Configuração do Job

Crie uma nova tarefa de backup, associando-a à máquina MSSQL e ao recém-criado FileSet. Aplique as alterações de configuração do Director.

Execute um trabalho de backup de teste.

Restore

As opções where= e database= de restauração do Bacula definem que tipo de restauração de banco de dados será executada.

Descrição where rwhere database Exemplo
Restauração do banco original para o MSSQL Origem /
Restaurar os arquivos do banco para disco Caminho where=c:/tmp
Restaurar o banco com novo nome DBname where=newdb
Alternativa restaurar o banco com novo nome DBname database=newdb
Restaurar com um novo nome no MSSQL e realocação de arquivos de dados Caminho DBname where=c:/tmp database=newdb
Restaurar com um novo nome no MSSQL e realocação de arquivos de dados individuais Regex DBname regexwhere=!CLUSTER!MSSQLSERVER!
database=newdb

Referência

Para obter mais exemplos e detalhes, incluindo procedimentos de backup de grupos de disponibilidade do MSSQL Always On, consulte o white paper MSSQL Backup and Restore – Bacula Enterprise Edition. https://baculasystems.com

Disponível em: pt-brPortuguêsenEnglish (Inglês)esEspañol (Espanhol)

Deixe uma resposta