Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Automatizando o processamento de modelo tabular de bancos de dados do Analysis Services (SSAS) no SQL Server


Este artigo fala sobre como automatizar o processamento do banco de dados do Analysis Services no SQL Server. A automação é uma das tarefas mais importantes gerenciadas por administradores de banco de dados ou engenheiros de DevOps.

Além disso, teremos uma visão geral dos bancos de dados do Analysis Services e como eles diferem dos bancos de dados do SQL Server.

Este artigo também destaca a importância de automatizar tarefas no SQL Server para minimizar os erros e maximizar a produtividade, principalmente ao trabalhar com cenários complexos, como soluções de business intelligence de data warehouse.

Sobre os bancos de dados do Analysis Services


Vamos dar uma olhada nos bancos de dados do Analysis Services para que possamos entender a importância de automatizar seu processamento no contexto de soluções de business intelligence de data warehouse e cenários complexos de análise de dados.

O que é um banco de dados do Analysis Services?


Um banco de dados do Analysis Services é um banco de dados altamente otimizado para análise e relatórios que geralmente é preparado e atualizado como parte das soluções de business intelligence de data warehouse.

Como os bancos de dados do Analysis Services são diferentes dos bancos de dados do SQL Server


Um banco de dados do Analysis Services é diferente de um banco de dados SQL Server porque funciona em uma linguagem diferente (DAX/MDX) e oferece muitas funções internas de inteligência de negócios para análise e relatórios, além de recursos como mineração de dados e inteligência de tempo.

Quantos tipos de bancos de dados do Analysis Services existem


Os dois principais tipos de bancos de dados do Analysis Services são os seguintes:
  1. Modo multidimensional (Cubo)
  2. Modo tabular (modelo de dados)

Portanto, um banco de dados do Analysis Services é um cubo implantado ou um modelo de dados implantado. Mas em ambas as formas atende a solicitações que variam de cenários de análise de dados simples a complexos e permite que relatórios sejam construídos em cima dele.

O que é SQL Server Analysis Services (SSAS)


O SQL Server Analysis Services também conhecido como SSAS é uma instância de servidor da Microsoft que permite hospedar bancos de dados do Analysis Services.

O que é um banco de dados do Analysis Services em um data warehouse


Um banco de dados de serviço de análise no contexto de data warehouse geralmente é um produto final que pode ser exposto aos usuários de negócios para relatórios de autoatendimento e análise em tempo real.

Em palavras simples, uma vez que os dados que passam por diferentes transformações e estágios de um data warehouse chegam ao banco de dados do Analysis Services, eles são considerados prontos para análise e geração de relatórios.

O que significa Processar um banco de dados do Analysis Services?


Processar um banco de dados do Analysis Services significa verificar as origens de novos dados e carregá-lo no banco de dados. Os bancos de dados do Analysis Services precisam ser atualizados com o tempo, pois as fontes das quais eles extraem dados frequentemente obtêm novos dados.


Por que devemos automatizar o processamento de bancos de dados do Analysis Services


A próxima pergunta importante que podemos fazer é esta:por que precisamos automatizar o processamento de um banco de dados do Analysis Services se podemos executá-lo manualmente com facilidade?

A resposta simples é que precisamos garantir que o banco de dados do Analysis Services esteja atualizado sem intervenção manual, economizando tempo e esforço – principalmente no contexto de uma solução de business intelligence de data warehouse quando o projeto é implantado em um servidor ativo.

Automatizando o processamento do banco de dados do Analysis Services


Agora, vamos passar pelas principais etapas de automatização do processamento de um banco de dados do Azure Analysis Services.

Pré-requisitos


Este artigo pressupõe que os leitores estejam familiarizados com os conceitos básicos de soluções de business intelligence de data warehouse, incluindo a implantação de modelos de dados em um servidor SQL Analysis ou Azure Analysis Services.

Como criar e gerenciar bancos de dados SQL e projetos de serviços de análise geralmente é um trabalho de desenvolvedor, vamos nos concentrar no processamento e automação do processamento de bancos de dados Analysis Services ou bancos de dados SSAS na perspectiva de um DBA ou engenheiro de DevOps.

Este artigo pressupõe o seguinte:
  1. Um banco de dados de exemplo chamado SQLDevBlogV5 a fonte já foi configurada
  2. Um modelo de dados tabular usando um projeto do Analysis Services já foi criado
  3. Um banco de dados do Analysis Services chamado SQLDevBlogTabularProject com base no modelo tabular já foi implantado

Observe que o banco de dados de origem e um banco de dados do Analysis Services mencionados acima são apenas para fins de referência, para que você possa alterar esses nomes de acordo com seus requisitos.

Agora você pode pular diretamente para o próximo título. No entanto, se você quiser cobrir a perspectiva do desenvolvedor e do DBA, poderá executar as etapas mencionadas acima usando o seguinte banco de dados de exemplo:
-- Create the sample database (SQLDevBlogV5)
CREATE DATABASE SQLDevBlogV5;
GO


USE SQLDevBlogV5;

-- (1) Create the Article table in the sample database
CREATE TABLE Article (
  ArticleId INT PRIMARY KEY IDENTITY (1, 1)
 ,Category	VARCHAR(50)
 ,Author VARCHAR(50)
 ,Title VARCHAR(150)
 ,Published DATETIME2
 ,Notes VARCHAR(400)  
)

GO

-- (2) Populating the Article table
SET IDENTITY_INSERT [dbo].[Article] ON
INSERT INTO [dbo].[Article] ([ArticleId], [Category], [Author], [Title], [Published], [Notes]) VALUES (1, N'Development', N'Atif', N'Introduction to SQL Server Analysis Services (SSAS)', N'2019-01-01 00:00:00', NULL)
INSERT INTO [dbo].[Article] ([ArticleId], [Category], [Author], [Title], [Published], [Notes]) VALUES (2, N'Testing', N'Peter', N'Processing SSAS database', N'2019-01-10 00:00:00', NULL)
INSERT INTO [dbo].[Article] ([ArticleId], [Category], [Author], [Title], [Published], [Notes]) VALUES (3, N'DLM', N'Sadaf', N'Automating Analysis Services Database Processing', N'2019-01-20 00:00:00', NULL)
SET IDENTITY_INSERT [dbo].[Article] OFF

Em seguida, crie um novo Serviços de análise projeto tabular, importe a fonte de dados para o modelo e implante o modelo no servidor SSAS:




Nível de compatibilidade


Neste exemplo, estamos usando SQL Server 2014 / SQL Server 2012 SP1 (1103) nível de compatibilidade para o modelo de dados. No entanto, você pode especificar um nível de compatibilidade diferente de acordo com seus requisitos.

Conecte-se ao Analysis Services


Abra o SSMS (SQL Server Management Studio) e conecte-se a um servidor de análise inserindo suas credenciais:


Vá para o banco de dados do Analysis Services (implantado)


Depois que a conexão for estabelecida, expanda os Bancos de dados nó no Explorador de objetos e, em seguida, expanda o nó de banco de dados do Analysis Services implantado clicando no botão mais ícone ao lado:


Processar o banco de dados do Analysis Services


Clique com o botão direito do mouse no banco de dados do Analysis Services e clique em Processar banco de dados:



Mantenha o modo de processamento padrão e clique em OK :



O banco de dados do Analysis Services foi processado com êxito:


Script do processamento do banco de dados


Em seguida, precisamos obter o script usado para processar o banco de dados do Analysis Services.

Uma das maneiras de automatizar o processamento de um banco de dados do Analysis Services é fazer um script da tarefa que faz o processamento e executá-la como um trabalho SQL (etapa) no SQL Server.

Clique em Processar banco de dados novamente, mas não pressione OK desta vez.

No Script menu suspenso no canto superior esquerdo da janela, clique em Script Action to New Query Window como mostrado abaixo:



O script de processamento será aberto em uma nova janela chamada XMLA query window :


Execute o script do banco de dados do processo


Pressione F5 para executar o script XMLA que começa a processar o banco de dados do Analysis Services:


Verificação do SQL Server Agent


Agora conecte-se ao mecanismo de banco de dados do SQL Server e verifique se o agente do SQL Server está em execução.


Configurar o acesso ao SQL Server Agent


Outra coisa importante é certificar-se de que a conta que está executando o SQL Server Agent tenha acesso ao banco de dados do Analysis Services.

No nosso caso, a conta NT Service\SQLAgent está executando o agente SQL Server – isso significa que essa conta deve ter permissões para processar o banco de dados do Analysis Services.

Conecte-se à instância tabular do Analysis Services e vá para o banco de dados do Analysis Services desejado. Em seguida, crie uma nova função Executor de banco de dados adicionando NT Service\SQLAgent conta e dando-lhe o Banco de Dados de Processo permissão:



Observe que uma das maneiras padrão de fazer isso é criar um proxy e mapear as credenciais para esse proxy. No entanto, os detalhes desse processo estão além do escopo deste artigo.

Copiar script XMLA para processar o banco de dados


Copie o script XMLA da janela de consulta XMLA do SQL Analysis Services que usamos para processar o banco de dados do Analysis Services.

Criar uma etapa de trabalho


Volte para o SQL Server Agent e crie uma nova etapa de trabalho como Process Analysis Services Database SQLDevBlogV5.



Crie uma nova etapa fornecendo as seguintes informações e clique em OK :



Por favor, lembre-se que você tem que digitar o nome do seu servidor e banco de dados e então colar o script que você copiou do Editor de Consultas XMLA.

Iniciar o trabalho


Clique com o botão direito do mouse no trabalho e clique em Iniciar trabalho na etapa…



A etapa de trabalho será executada com sucesso, conforme mostrado abaixo:


Agende o trabalho para automatizar o processamento


Em seguida, agende o trabalho para automatizar o processamento do banco de dados do Analysis Services.

Parabéns! Você automatizou com êxito o processamento do banco de dados do Analysis Services, economizando tempo e esforço gastos por um DBA ou engenheiro de DevOps para processar o banco de dados sempre que os dados precisam ser atualizados da origem.

O que fazer


Agora que você pode automatizar o processamento de um banco de dados do Analysis Services, tente as seguintes coisas para melhorar ainda mais suas habilidades:
  1. Agende o trabalho de processamento de banco de dados do Analysis Services mencionado neste artigo para ser executado diariamente e adicione mais dados à amostra com o tempo
  2. Implemente a solução completa fazendo o seguinte:
    1. Configurar um banco de dados de amostra
    2. Criar um modelo de dados tabular
    3. Importar um banco de dados de amostra para o modelo de dados tabular
    4. Implante o modelo de dados tabular para criar um banco de dados do Analysis Services
    5. Automatize o processamento do banco de dados do Analysis Services usando o SQL Agent
  3. Conecte-se ao banco de dados do Analysis Services por meio do Excel para exibir os dados depois que o banco de dados do Analysis Services for atualizado automaticamente usando o trabalho SQL