Published on

February 2, 2015

Fazendo backup de bancos de dados do SQL Server Analysis Services

Fazer backup de bancos de dados é uma tarefa crucial para qualquer administrador de banco de dados (DBA). Isso garante a segurança e integridade dos dados, que são o cerne do trabalho de um DBA. Embora existam inúmeros produtos disponíveis para fazer backup de bancos de dados transacionais no SQL Server, o mesmo não pode ser dito para bancos de dados do Analysis Services (SSAS). Como descobri quando me tornei responsável por um banco de dados do SSAS, não há um recurso integrado para fazer backup desses bancos de dados. No entanto, existe uma solução simples usando o SQL Server Management Studio (SSMS).

Para fazer backup de um banco de dados do SSAS usando o SSMS, siga estas etapas:

  1. Abra o SSMS e selecione o tipo de servidor Analysis Services na janela Servidores Registrados.
  2. Dê um duplo clique no nome do seu servidor para expandi-lo no explorador de objetos e, em seguida, expanda a pasta de bancos de dados.
  3. Clique com o botão direito no banco de dados que deseja fazer backup e selecione “Fazer backup…”.
  4. A janela Fazer backup do banco de dados será aberta. Preencha os valores apropriados para o seu ambiente.
  5. Em vez de clicar no botão OK quando terminar, clique na seta ao lado do botão Script na parte superior da tela e selecione “Scriptar Ação para Nova Janela de Consulta”.
  6. Clique no botão Cancelar para fechar a janela Fazer backup do banco de dados.
  7. Agora você deve ter uma janela XMLAQuery no SSMS que contém os comandos para fazer backup do seu banco de dados.

Agora que você tem o script XMLA para fazer backup do seu banco de dados do SSAS, você pode criar um trabalho do SQL Agent e colar esse script na etapa do trabalho. No entanto, há uma consideração importante a ter em mente. Por padrão, o script de backup gerado pelo SSMS inclui a opção de permitir a substituição de arquivos. Isso significa que se você usar esse script como etapa do trabalho, você terá apenas o backup mais recente e nenhuma história de backup.

Se sua organização requer a manutenção de um histórico de backup, você pode usar o PowerShell para alcançar isso. Aqui está um exemplo de como você pode modificar o processo de backup para manter uma semana de backups:

Renomear arquivo:

cd c:
$today = get-date -uformat "%Y%m%d"
$oldname = "\\uncfilepath\Databasename.abf"
$filepath = "\\uncfilepath\"
$newname = $filepath + "Databasename_" + $today + ".abf"
rename-item $oldname $newname

Limpar arquivos antigos:

cd c:
$RetentionDate = (Get-Date).AddDays(-6)
$FilePath = "\\uncfilepath"
Get-ChildItem $FilePath -recurse -include "*.abf" | Where {($_.CreationTime -le $RetentionDate)} | Remove-Item –Force

O primeiro script renomeia o arquivo de backup adicionando a data atual ao nome do arquivo. Isso garante que cada backup tenha um nome único e evita a substituição de backups anteriores. O segundo script limpa quaisquer arquivos antigos de backup, para que seu disco rígido não fique cheio de backups desnecessários.

Vale ressaltar que a primeira linha de cada script, “cd c:”, é necessária ao usar um caminho UNC. Isso garante que o script seja executado com êxito dentro do trabalho do SQL Agent, já que a versão do PowerShell invocada dentro do SQL Server pode diferir um pouco da versão independente.

Ao incorporar essas etapas adicionais ao seu trabalho do SQL Agent, você pode manter um histórico de backup para seus bancos de dados do SSAS e garantir a segurança de seus dados.

Lembre-se, fazer backup de seus bancos de dados é uma responsabilidade crítica para um DBA. Não deixe seus dados vulneráveis – implemente uma estratégia de backup robusta para todos os seus bancos de dados do SQL Server, incluindo o Analysis Services.

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.