O blog da AWS

Configurando o Microsoft SQL Server Analysis Services no Amazon RDS para SQL Server

Por Edgar Tellez, Sr. Solutions Architect AWS México.

 

Agora você pode configurar o Microsoft SQL Server Analysis Services (SSAS) em um modelo tabular no Amazon RDS para SQL Server. O SSAS funciona em configuração Single-AZ para edições Standard e Enterprise com a versão principal do SQL Server 2016 ou 2017.

Se você estiver executando o SSAS no Amazon EC2, você poderá economizar custos com suporte direto ao SSAS no Amazon RDS for SQL Server e consolidar essas cargas de trabalho para serem executadas na mesma instância de banco de dados do RDS do banco de dados do SQL Server. No entanto, sempre devemos considerar os impactos de desempenho para qualquer consolidação em SQL.

As soluções de Processamento Analítico Online (OLAP Online Analytical Processing) melhoram os data warehouses e outros bancos de dados relacionais, minimizando a quantidade de processamento “on-the-fly” para análises e relatórios rápidos e eficazes. Isso é feito principalmente através do pré-processamento e armazenamento de uma ampla gama de combinações de dimensões e hierarquias antes de qualquer análise ser realizada.

O SSAS é uma ferramenta de business intelligence da Microsoft para o desenvolvimento de soluções OLAP de nível empresarial. Além de consultas otimizadas e cálculos analíticos, o SSAS fornece modelos de dados semânticos que os aplicativos clientes exigem, tais como Excel, Power BI, SQL Server Reporting Services (SSRS) e outras ferramentas de visualização e relatórios de dados. O modelo tabular suporta bancos de dados na memória projetados para consultas eficientes baseadas em colunas e fornece melhor compactação de dados.

Este blog post descreve como configurar e usar o SSAS em um modelo tabular no Amazon RDS para instâncias de banco de dados do SQL Server.

 

SSAS no Amazon RDS para SQL Server

Para configurar o SSAS no Amazon RDS para SQL Server, você deve atender aos seguintes requisitos:
a instância do Amazon RDS para SQL Server deve ser SQL Server 2016 Standard ou Enterprise Edition (13.00.5426.0.v1 ou superior) ou SQL Server 2017 Standard ou Enterprise Edition (14.00.3223.3.v1 ou superior).

A instância deve utilizar o serviço de AWS Managed Microsoft Active Directory para habilitar a autenticação do Windows. Para obter instruções, consulte Configurando a autenticação do Windows para instâncias de banco de dados do SQL Server. Você deve habilitar a integração com o Amazon S3 para transferir backups e modelos SSAS entre sua instância e um bucket do S3. Você deve ter um login válido para a instância do Microsoft SQL Server for Amazon RDS com permissão para baixar arquivos do Amazon S3. Para obter instruções, consulte Integração de uma instância de banco de dados do Amazon RDS para SQL Server com o Amazon S3.

Caso você possua um Active Directory próprio, este modelo também funciona caso o AWS Managed Microsoft Active Directory tenha uma relação de confiança com a sua floresta.

 

Criando um grupo de opções com a opção SSAS

Para obter instruções sobre como criar um grupo de opções usando a opção SSAS, consulte Trabalhando com grupos de opções. Inclua as seguintes etapas

Em Nome da opção, selecione SSAS.

 

 

Para Memória Máxima, especifique o limite de memória percentual que o SSAS ocupa na instância do Microsoft SQL Server for Amazon RDS. Ao configurar a memória máxima, considere a quantidade de memória disponível na instância de banco de dados do RDS. Importante: O SSAS Tabular é um aplicativo que consome memória. Se você escolher uma memória máxima superior à alocada ao SSAS, ela afetará potencialmente as operações do SQL Server que residem na mesma instância.

Cada instância de banco de dados deve ter pelo menos um security group associado a ela. Escolha na lista de seus grupos de segurança ou crie um novo. Assegure-se de que o grupo de segurança associado permita o tráfego de entrada para a porta SSAS.

 

Conectar ao SSAS

Depois que você adiciona a opção SSAS, você deve poder conectar-se ao SSAS na instância do RDS. Para se conectar ao SSAS, você deve fazer logon em um computador associado ao domínio como usuário de domínio. Conclua as seguintes etapas:

  1. Inicie o SQL Server Management Studio (SSMS).
  2. No menu Arquivo, escolha Conectar o Explorador de Objetos
  3. Em Tipo de servidor, escolha Analysis Services.
  4. Em Nome do servidor, insira o endpoint da instância do RDS.
  5. Para Autenticação, escolha Autenticação do
  6. Selecione Conectar

Depois de alguns momentos, o SSMS se conecta ao SSAS em sua instância de banco de dados. Se você não conseguir se conectar ao SSAS, verifique se o grupo de segurança da instância permite o tráfego do computador na porta 2383. Para obter mais informações, consulte Considerações sobre grupos de segurança.

 

Implementar e processar um modelo tabular

Você não pode implantar o projeto diretamente em uma instância de banco de dados do RDS. Para implantar o modelo tabular, você deve mover os arquivos de modelo para a instância de banco de dados e executar o procedimento armazenado do SSAS.

  1. Crie um novo projeto tabular no SQL Server Data Tools (ou abra um projeto criado anteriormente).

 

  1. Crie as funções necessárias no seu projeto e adicione os membros do domínio às funções.
    Para que um usuário de domínio execute operações no modelo implantado, o usuário deve ser adicionado ao projeto. Certifique-se de que o usuário de domínio possa se conectar ao SSAS na instância do RDS.
  2. Na guia Solution Explorer, escolha a solução e abra as propriedades.
  3. Em Opções de Disponibilização, para Opções de Processamento, escolha Não Processar.

Depois de implantar o modelo, você pode processar seu modelo diretamente por meio do SSMS.

  1. Na guia Solution Explorer, crie seu projeto.

Quando você cria o projeto tabular, o SQL Server Data Tools gera o arquivo na pasta de saída dos projetos do Analysis Services (a pasta de saída padrão é \Bin). Para a implantação, você precisa dos arquivos  <nome do projeto>.asdatabase e  <nome do projeto>.deploymentoptions .

  1. Crie um bucket do S3 (ou use um existente). Para este post, criei o “sample-s3-bucket”.
  2. Carregue os arquivos do projeto para esse bucket.

Certifique-se de que a integração com o Amazon S3 já esteja habilitada para sua instância.

  1. Abra o SSMS e conecte-se à sua instância do RDS SQL Server.
  2. Execute o procedimento armazenado a seguir para baixar os arquivos de projeto do bucket do S3 para a pasta local do Amazon S3 na instância:

 

EXEC msdb.dbo.rds_download_from_s3 @s3_arn_of_file='arn:aws:s3:::sample-s3-bucket/testmodel.asdatabase',                                   @rds_file_path='d:\S3\testmodel.asdatabase', @overwrite_file=1EXEC msdb.dbo.rds_download_from_s3 @s3_arn_of_file='arn:aws:s3:::sample-s3-bucket/testmodel.deploymentoptions',                                                    @rds_file_path='d:\S3\testmodel.deploymentoptions', @overwrite_file=1

 

  1. Para rastrear o status das tarefas de integração do Amazon S3, chame a função rds_fn_task_status até que seu status mude para SUCCESS. A função leva dois parâmetros. Defina o primeiro parâmetro como NULL e o segundo parâmetro para o ID da tarefa (se você passar 0 como o ID da tarefa, exibirá uma lista de todas as tarefas). Consulte o seguinte código:

 

  SELECT * FROM msdb.dbo.rds_fn_task_status(NULL, 0);

 

  1. Chame o procedimento armazenado SSAS_DEPLOY_PROJECT para implantar o modelo no SSAS. Consulte o seguinte código:

 

EXEC msdb.dbo.rds_msbi_task @task_type='SSAS_DEPLOY_PROJECT', @file_path='d:\S3\testmodel.asdatabase';

 

  1. Depois que o status da tarefa SSAS_DEPLOY_PROJECT for alterado para SUCCESS no SSMS, conecte-se ao Analysis Services usando a autenticação do Windows. Então você verá seu projeto implantado em Bancos de dados como você vê na captura de tela abaixo.

Se você não puder visualizar seu banco de dados na seção “Databases”, isso provavelmente significa que o usuário em seu domínio não tem acesso ao nível do banco de dados à Instância. Você deve adicionar seu nome de usuário ao modelo e reimplantar o modelo atualizado ou adicionar um usuário administrador por meio do procedimento armazenado SSAS_ADD_DB_ADMIN_MEMBER.

 

 

  1. Para processar os dados, abra o objeto de conexão associado ao seu banco de dados (clique com o botão direito do mouse).
  2. Escolha Propriedades.
  3. Atualize o nome de usuário e a senha na cadeia de conexão.
  4. No SSMS, abra o banco de dados SSAS implantado (clique com o botão direito do mouse).
  5. Escolha Processar Banco de Dados.
    O tempo de processamento depende da quantidade de dados importados da fonte de dados.

 

Outras Operações

A próxima seção discute outras operações que você pode executar, como adicionar um membro de administrador a uma função e fazer backup e restaurar um banco de dados SSAS.

 

Adicionar um usuário administrador à função de administradores

Para conceder acesso ao administrador no nível do banco de dados a um usuário de domínio para um determinado banco de dados, informe o seguinte código:

 

EXEC msdb.dbo.rds_msbi_task @task_type='SSAS_ADD_DB_ADMIN_MEMBER',




                            @database_name='TestModel',




                            @ssas_role_name='Sample',




                            @ssas_role_member='domain\user';


O comando criará uma função se ela não existir.

Backup de um banco de dados SSAS

Você pode fazer backup direto do banco de dados SSAS por meio do SSMS na pasta do Amazon S3 ou executar o procedimento armazenado SSAS_BACKUP_DB. Consulte o seguinte código:

EXEC msdb.dbo.rds_msbi_task @task_type='SSAS_BACKUP_DB',




                            @database_name='TestModel',




                            @file_path='d:\S3\test-model.abf',




                            @ssas_overwrite_file=1;

Restaurar um banco de dados SSAS

Para restaurar um banco de dados SSAS a partir de um arquivo de backup, chame o procedimento armazenado SSAS_RESTORE_DB. Consulte o seguinte código:

EXEC msdb.dbo.rds_msbi_task @task_type='SSAS_RESTORE_DB',




                            @database_name='NewTestModel',




                            @file_path='d:\S3\test-model.abf';

OBS: Você não pode restaurar um banco de dados se outro banco de dados com o mesmo nome já existir.

 

Visão geral

Esta publicação mostrou como configurar o SSAS no modelo tabular no Amazon RDS para SQL Server. Se você estiver executando SSAS no Amazon EC2, poderá economizar custos consolidando essas cargas de trabalho para serem executadas na mesma instância de banco de dados do RDS que o banco de dados do SQL Server. Você pode processar facilmente dados de Data Warehouses e outros bancos de dados relacionais (no local ou na nuvem), realizar consultas analíticas e fazer backup ou restaurar seus bancos de dados SSAS. Experimente o SSAS hoje mesmo no console da AWS e compartilhe suas ideias e experiências com seus comentários.

 

 


Sobre o autor

Edgar Tellez é Arquiteto de Soluções na AWS México.

 

 

 

 

 

Explore os tipos de banco de dados disponíveis, as diferenças entre os serviços de banco de dados gerenciados padrão e os bancos de dados nativos da nuvem através do data flywheel.