Clique no banner para conhecer e adquirir o meu treinamento de Bancos de Dados no Azure

Analysis Services – Como utilizar o XLMA para backup e restore de cubos via linha de comando T-SQL

Post Views 968 views
Reading time 3 minutes

Olá pessoal,
Como vocês estão hoje ?

Neste post, vou demonstrar como utilizar a linguagem XLMA (XML for Analysis) para conseguir realizar backup e restore de cubos e dimensões do Analysis Services através de queries Transact-SQL (T-SQL), que podem ser utilizadas em um job do SQL Agent para automatizar esse processo, permitindo que você automatize as rotinas de backup/restore de seus cubos do Analysis Services.

Para que seja possível realizar as rotinas descritas neste post, você precisará ter criado um Linked Server de integração entre o SQL Server e o Analysis Services (Aqui no exemplo, eu chamo esse objeto de INTERFACE_CUBOS).

Caso você não tenha criado esse Linked Server e não saiba como fazer isso, acesse o post Analysis Services (SSAS) – Como consultar informações e processar comandos via linha de comando (XLMA) pelo SQL Server e siga o passo a passo para criá-lo.

Como fazer backup de cubos do SSAS via T-SQL e XLMA

Agora que já criamos o nosso Linked Server de conexão, onde chamamos de “INTERFACE_CUBOS”, vamos gerar o backup do nosso cubo do Analysis Services. Para fazer isso, basta executar o comando XLMA abaixo, utilizando a conexão do Linked Server.

Resultado após a execução:

Observação: Por padrão, os backups já são gerados utilizando compressão. Caso você NÃO queira compactar os arquivos de backup gerados, utilize o parâmetro <ApplyCompression>false</ApplyCompression> após a tag <AllowOverwrite>.

Como fazer restore de cubos do SSAS via T-SQL e XLMA

Assim como fizemos com o backup do cubo utilizando o XLMA e o Linked Server “INTERFACE_CUBOS”, vamos executar uma query para realizar o restore a partir de um backup realizado.

Caso você queira restaurar o arquivo de backup substituindo o cubo original do Backup, basta omitir a tag <DatabaseName> que o comando irá fazer o restore substituindo o cubo original.

Resultado do Restore:

Como listar os cubos da instância do Analysis Services

Neste post, demonstrei como fazer o backup e restore de um cubo do Analysis Services utilizando apenas Transact-SQL, um Linked Server para conexão com o Analysis Services e uma query XLMA. Muitos DBA’s tem a necessidade de automatizar o backup de todos os cubos da instância e seria muito interessante que fosse possível listar quais são os cubos para que seja possível criar um processo realmente automático.

Para isso, basta uma simples query para listar os cubos do Analysis Services:

Resultado da consulta:

Como criar um backup de todos os cubos da instância

Para criar um backup de todos os cubos da sua instância do Analysis Services utilizando o Transact-SQL, basta executar o script abaixo:

Result:

And that's it, folks!
Espero que tenham gostado desse post.

Abraço!