Suporte para o SQL Server Analysis Services no Amazon RDS para SQL Server - Amazon Relational Database Service

Suporte para o SQL Server Analysis Services no Amazon RDS para SQL Server

O Microsoft SQL Server Analysis Services (SSAS) faz parte do pacote Microsoft Business Intelligence (MSBI). O SSAS é um processamento analítico online (OLAP) e uma ferramenta de mineração de dados que está instalado no SQL Server. Use o SSAS para analisar dados a fim de ajudar a tomar decisões de negócios. O SSAS difere do banco de dados relacional do SQL Server porque é otimizado para consultas e cálculos comuns em um ambiente de business intelligence. Para obter mais informações sobre o SSAS, consulte a Documentação do Analysis Services da Microsoft.

O Amazon RDS for SQL Server oferece suporte à execução do SQL Server Analysis Services (SSAS) no modo Tabular. É possível habilitar o SSAS em instâncias de banco de dados novas ou existentes. Ele é instalado na mesma instância de banco de dados que o mecanismo de banco de dados.

O RDS oferece suporte ao SSAS para as edições Standard e Enterprise do SQL Server nas seguintes versões:

  • SQL Server 2019, versão 15.00.4043.16.v1 e posterior

  • SQL Server 2017, versão 14.00.3223.3.v1 e posterior

  • SQL Server 2016, versão 13.00.5426.0.v1 e posterior

Limitations

As seguintes limitações se aplicam à execução do SSAS no RDS for SQL Server:

  • Tabular é o único modo compatível com o SSAS.

  • As instâncias Multi-AZ não são compatíveis.

  • As instâncias devem usar AWS Directory Service for Microsoft Active Directory para autenticação do SSAS.

  • Os usuários não recebem acesso de administrador do servidor do SSAS, mas podem receber acesso de administrador no nível de banco de dados.

  • A única porta compatível para acessar o SSAS é a 2383.

  • Não é possível implantar projetos diretamente. Nós fornecemos um procedimento armazenado do RDS para fazer isso. Para obter mais informações, consulte Implantar projetos do SSAS no Amazon RDS.

  • O processamento durante a implantação não é compatível.

  • O uso de arquivos .xmla para implantação não é compatível.

  • Os arquivos de entrada de projeto e os arquivos de saída de backup de banco de dados do SSAS podem estar somente na pasta D:\S3 na instância de banco de dados.

Como habilitar o SSAS

Use o seguinte processo para habilitar o SSAS para a instância de banco de dados:

  1. Crie um grupo de opções ou selecione um existente.

  2. Adicione a opção SSAS ao grupo de opções.

  3. Associe o grupo de opções à instância de banco de dados.

  4. Conceda acesso de entrada ao grupo de segurança da VPC para a porta do listener do SSAS.

  5. Habilite a integração do Amazon S3.

Criar o grupo de opções para o SSAS

Use o AWS Management Console ou a AWS CLI para criar um grupo de opções que corresponda à versão e ao mecanismo do SQL Server da instância de banco de dados que você planeja usar.

nota

Também é possível usar um grupo de opções existente se ele for para a versão e o mecanismo e corretos do SQL Server.

O procedimento do console a seguir cria um grupo de opções para o SQL Server Standard Edition 2017.

Como criar o grupo de opções

  1. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. No painel de navegação, escolha Option groups (Grupos de opções).

  3. Escolha Create group (Criar grupo).

  4. No painel Create option group (Criar grupo de opções), faça o seguinte:

    1. Em Name (Nome), insira um nome para o grupo de opções que seja exclusivo na sua conta da AWS, como ssas-se-2017. O nome pode conter somente letras, números e hifens.

    2. Em Descrição, insira uma breve descrição do grupo de opções, como SSAS option group for SQL Server SE 2017. A descrição é usada para fins de exibição.

    3. Em Engine (Mecanismo), selecione sqlserver-se.

    4. Em Major engine version (Versão principal do mecanismo), selecione 14.00.

  5. Escolha Criar.

O exemplo de CLI a seguir cria um grupo de opções para o SQL Server Standard Edition 2017.

Como criar o grupo de opções

  • Use um dos seguintes comandos.

    Para Linux, macOS ou Unix:

    aws rds create-option-group \ --option-group-name ssas-se-2017 \ --engine-name sqlserver-se \ --major-engine-version 14.00 \ --option-group-description "SSAS option group for SQL Server SE 2017"

    Para Windows:

    aws rds create-option-group ^ --option-group-name ssas-se-2017 ^ --engine-name sqlserver-se ^ --major-engine-version 14.00 ^ --option-group-description "SSAS option group for SQL Server SE 2017"

Adicionar a opção SSAS ao grupo de opções

Depois, use o AWS Management Console ou a AWS CLI para adicionar a opção SSAS ao grupo de opções.

Como adicionar a opção SSAS

  1. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. No painel de navegação, escolha Option groups (Grupos de opções).

  3. Selecione o grupo de opções que você acabou de criar.

  4. Escolha Add option (Adicionar opção).

  5. Em Option details (Detalhes da opção), selecione SSAS em Option name (Nome da opção).

  6. Em Option settings (Configurações de opção), insira um valor de 10–80 em Max memory (Memória máxima).

    Max memory (Memória máxima) especifica o limite superior acima do qual o SSAS começa a liberar memória de forma mais agressiva para liberar espaço a solicitações que estão em execução e a novas solicitações de alta prioridade. O número é uma porcentagem da memória total da instância de banco de dados. Os valores permitidos são de 10–80 e o padrão é 45.

    nota

    A porta para acessar o SSAS, 2383, é preenchida automaticamente.

  7. Em Security groups (Grupos de segurança), selecione o grupo de segurança da VPC a ser associado à opção.

  8. Em Scheduling (Programação), escolha se deseja adicionar a opção imediatamente ou na próxima janela de manutenção.

  9. Escolha Add option (Adicionar opção).

Como adicionar a opção SSAS

  1. Crie um arquivo JSON, por exemplo ssas-option.json, com os seguintes parâmetros:

    • OptionGroupName – O nome do grupo de opções que você criou ou selecionou anteriormente (ssas-se-2017 no exemplo a seguir).

    • Port – A porta que você usa para acessar o SSAS. A única porta compatível é a 2383.

    • VpcSecurityGroupMemberships – Associações de grupos de segurança da VPC para a instância de banco de dados do RDS.

    • MAX_MEMORY – O limite superior acima do qual o SSAS deve começar a liberar memória de forma mais agressiva para liberar espaço a solicitações que estão em execução e a novas solicitações de alta prioridade. O número é uma porcentagem da memória total da instância de banco de dados. Os valores permitidos são de 10–80 e o padrão é 45.

    { "OptionGroupName": "ssas-se-2017", "OptionsToInclude": [ { "OptionName": "SSAS", "Port": 2383, "VpcSecurityGroupMemberships" : ["sg-0abcdef123"], "OptionSettings": [{"Name" : "MAX_MEMORY","Value" : "60"}] }], "ApplyImmediately": true }
  2. Adicione a opção SSAS ao grupo de opções.

    Para Linux, macOS ou Unix:

    aws rds add-option-to-option-group \ --cli-input-json file://ssas-option.json \ --apply-immediately

    Para Windows:

    aws rds add-option-to-option-group ^ --cli-input-json file://ssas-option.json ^ --apply-immediately

Associar o grupo de opções à instância de banco de dados

É possível usar o AWS Management Console ou a AWS CLI para associar o grupo de opções à instância de banco de dados.

Associe o grupo de opções a uma instância de banco de dados nova ou existente:

É possível associar o grupo de opções a uma instância de banco de dados nova ou existente.

nota

Se você usar uma instância existente, ela já deve ter um domínio do Active Directory e uma função do IAM associados a ela. Se você criar uma nova instância, especifique um domínio do Active Directory e uma função do IAM existentes. Para obter mais informações, consulte Uso da autenticação do Windows com uma instância de banco de dados do Amazon RDS for SQL Server.

Como criar uma instância de banco de dados que usa o grupo de opções

  • Especifique o mesmo tipo de mecanismo de banco de dados e a versão principal que você usou ao criar o grupo de opções.

    Para Linux, macOS ou Unix:

    aws rds create-db-instance \ --db-instance-identifier myssasinstance \ --db-instance-class db.m5.2xlarge \ --engine sqlserver-se \ --engine-version 14.00.3223.3.v1 \ --allocated-storage 100 \ --master-user-password secret123 \ --master-username admin \ --storage-type gp2 \ --license-model li \ --domain-iam-role-name my-directory-iam-role \ --domain my-domain-id \ --option-group-name ssas-se-2017

    Para Windows:

    aws rds create-db-instance ^ --db-instance-identifier myssasinstance ^ --db-instance-class db.m5.2xlarge ^ --engine sqlserver-se ^ --engine-version 14.00.3223.3.v1 ^ --allocated-storage 100 ^ --master-user-password secret123 ^ --master-username admin ^ --storage-type gp2 ^ --license-model li ^ --domain-iam-role-name my-directory-iam-role ^ --domain my-domain-id ^ --option-group-name ssas-se-2017

Como modificar uma instância de banco de dados para associar o grupo de opções

  • Use um dos seguintes comandos.

    Para Linux, macOS ou Unix:

    aws rds modify-db-instance \ --db-instance-identifier myssasinstance \ --option-group-name ssas-se-2017 \ --apply-immediately

    Para Windows:

    aws rds modify-db-instance ^ --db-instance-identifier myssasinstance ^ --option-group-name ssas-se-2017 ^ --apply-immediately

Como conceder acesso de entrada ao grupo de segurança da VPC

Crie uma regra de entrada para a porta de listener do SSAS especificada no grupo de segurança da VPC associado à instância de banco de dados. Para obter mais informações sobre como configurar um grupo de segurança, consulte Fornecer acesso à instância de banco de dados na VPC criando um grupo de segurança.

Habilitar a integração do S3

Para fazer download de arquivos de configuração do modelo do host para implantação, use a integração do S3. Para obter mais informações, consulte Integrar uma instância de banco de dados do Amazon RDS for SQL Server ao Amazon S3.

Implantar projetos do SSAS no Amazon RDS

No RDS, não é possível implantar projetos do SSAS diretamente usando o SQL Server Management Studio (SSMS). Para implantar projetos, use um procedimento armazenado do RDS.

nota

O uso de arquivos .xmla para implantação não é compatível.

Antes de implantar projetos, certifique-se do seguinte:

  • A integração do S3 está habilitada. Para obter mais informações, consulte Integrar uma instância de banco de dados do Amazon RDS for SQL Server ao Amazon S3.

  • A configuração Processing Option está definida como Do Not Process. Essa configuração significa que nenhum processamento ocorrerá após a implantação.

  • Você tem os arquivos myssasproject.asdatabase e myssasproject.deploymentoptions. Eles são gerados automaticamente quando você cria o projeto do SSAS.

Como implantar um projeto do SSAS no RDS

  1. Faça download do arquivo .asdatabase (modelo do SSAS) no bucket do S3 para a instância de banco de dados, conforme mostrado no exemplo a seguir. Para obter mais informações sobre os parâmetros de download, consulte Fazer download de arquivos de um bucket do Amazon S3 em uma instância de banco de dados SQL Server.

    exec msdb.dbo.rds_download_from_s3 @s3_arn_of_file='arn:aws:s3:::bucket_name/myssasproject.asdatabase', [@rds_file_path='D:\S3\myssasproject.asdatabase'], [@overwrite_file=1];
  2. Faça download do arquivo .deploymentoptions no bucket do S3 para a instância de banco de dados.

    exec msdb.dbo.rds_download_from_s3 @s3_arn_of_file='arn:aws:s3:::bucket_name/myssasproject.deploymentoptions', [@rds_file_path='D:\S3\myssasproject.deploymentoptions'], [@overwrite_file=1];
  3. Implante o projeto.

    exec msdb.dbo.rds_msbi_task @task_type='SSAS_DEPLOY_PROJECT', @file_path='D:\S3\myssasproject.asdatabase';

Monitorar o status de uma tarefa de implantação

Para rastrear o status da tarefa de implantação (ou de download), chame a função rds_fn_task_status. Ela leva dois parâmetros. O primeiro parâmetro sempre deve ser NULL porque ele não se aplica ao SSAS. O segundo parâmetro aceita um ID de tarefa.

Para ver uma lista de todas as tarefas, defina o primeiro parâmetro como NULL e o segundo parâmetro como 0, conforme mostrado no seguinte exemplo.

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

Para obter uma tarefa específica, defina o primeiro parâmetro como NULL e o segundo parâmetro como o ID da tarefa, conforme mostrado no exemplo a seguir.

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

A função rds_fn_task_status retorna as informações a seguir.

Parâmetro de saída

Descrição

task_id

O ID da tarefa.

task_type

No SSAS, as tarefas podem ter os seguintes tipos de tarefa:

  • SSAS_DEPLOY_PROJECT

  • SSAS_ADD_DB_ADMIN_MEMBER

  • SSAS_BACKUP_DB

  • SSAS_RESTORE_DB

database_name

Não aplicável a tarefas do SSAS.

% complete

O progresso da tarefa em porcentagem.

duration (mins)

A quantidade de tempo gasta na tarefa, em minutos.

lifecycle

O status da tarefa. Os possíveis status são os seguintes:

  • CREATED – após chamar um dos procedimentos armazenados do SSAS, uma tarefa será criada, e o status será definido como CREATED.

  • IN_PROGRESS – Após iniciar uma tarefa, o status será definido como IN_PROGRESS. Pode demorar até 5 minutos para que o status mude de CREATED para IN_PROGRESS.

  • SUCCESS – Após concluir uma tarefa, o status será definido como SUCCESS.

  • ERROR – Se uma tarefa falhar, o status será definido como ERROR. Para obter mais informações sobre o erro, consulte a coluna task_info.

  • CANCEL_REQUESTED – Após chamar rds_cancel_task, o status da tarefa será definido como CANCEL_REQUESTED.

  • CANCELLED – após uma tarefa ter sido cancelada com sucesso, o status da tarefa será definido como CANCELLED.

task_info

Informações adicionais sobre a tarefa. Se um erro ocorrer durante o processamento, essa coluna conterá informações sobre o erro.

last_updated

A data e hora em que o status da tarefa foi atualizado pela última vez.

created_at

A data e hora em que a tarefa foi criada.

S3_object_arn

Não aplicável a tarefas do SSAS.

overwrite_S3_backup_file

Não aplicável a tarefas do SSAS.

KMS_master_key_arn

Não aplicável a tarefas do SSAS.

filepath

Não aplicável a tarefas do SSAS.

overwrite_file

Não aplicável a tarefas do SSAS.

task_metadata

Metadados associados à tarefa do SSAS.

Como usar o SSAS no Amazon RDS

Depois de implantar o projeto do SSAS, será possível processar diretamente o banco de dados OLAP no SSMS.

Como usar o SSAS no RDS

  1. No SSMS, conecte-se ao SSAS usando o nome de usuário e a senha do domínio do Active Directory.

  2. Expanda Databases (Bancos de dados). Será exibido o banco de dados recém-implantado do SSAS.

  3. Expanda Connections (Conexões), abra o menu de contexto (clique com o botão direito do mouse) do objeto de conexão e selecione Properties (Propriedades).

  4. Na string de conexão, atualize o nome de usuário e a senha para aqueles do banco de dados SQL de origem. É necessário fazer isso para processar tabelas.

  5. Abra o menu de contexto (clique com o botão direito do mouse) para o banco de dados do SSAS que você criou e selecione Process Database (Processar banco de dados).

    Dependendo do tamanho dos dados de entrada, a operação de processamento pode levar vários minutos para ser concluída.

Adicionar um usuário de domínio como administrador de banco de dados

É possível adicionar um usuário de domínio como administrador de banco de dados do SSAS das seguintes maneiras:

  • Um administrador de banco de dados pode usar o SSMS para criar uma função com privilégios admin e adicionar usuários a essa função.

  • É possível usar o procedimento armazenado a seguir.

    exec msdb.dbo.rds_msbi_task @task_type='SSAS_ADD_DB_ADMIN_MEMBER', @database_name='myssasdb', @ssas_role_name='exampleRole', @ssas_role_member='domain_name\domain_user_name';

    Os seguintes parâmetros são obrigatórios:

    • @task_type – O tipo da tarefa do MSBI, nesse caso SSAS_ADD_DB_ADMIN_MEMBER.

    • @database_name – O nome do banco de dados do SSAS ao qual você está concedendo privilégios de administrador.

    • @ssas_role_name – O nome da função de administrador de banco de dados do SSAS. Se a função ainda não existir, ela será criada.

    • @ssas_role_member – O usuário do banco de dados do SSAS que você está adicionando à função de administrador.

Fazer backup de um banco de dados do SSAS

É possível criar arquivos de backup de banco de dados do SSAS somente na pasta D:\S3 da instância de banco de dados. Para mover os arquivos de backup para o bucket do S3, use o Amazon S3.

É possível fazer backup de um banco de dados do SSAS da seguinte forma:

  • Um usuário de domínio com a função admin de um banco de dados específico pode usar o SSMS para fazer backup do banco de dados para a pasta D:\S3.

    Para obter mais informações, consulte Adicionar um usuário de domínio como administrador de banco de dados.

  • É possível usar o procedimento armazenado a seguir.

    exec msdb.dbo.rds_msbi_task @task_type='SSAS_BACKUP_DB', @database_name='myssasdb', @file_path='D:\S3\ssas_db_backup.abf', [@ssas_apply_compression=1], [@ssas_overwrite_file=1];

    Os seguintes parâmetros são obrigatórios:

    • @task_type – O tipo da tarefa do MSBI, nesse caso SSAS_BACKUP_DB.

    • @database_name – O nome do banco de dados do SSAS do qual você está fazendo backup.

    • @file_path – O caminho para o arquivo de backup do SSAS. É necessária a extensão .abf.

    Os seguintes parâmetros são opcionais:

    • @ssas_apply_compression – Se deve ser aplicada a compactação do backup do SSAS. Os valores válidos são 1 (Sim) e 0 (Não).

    • @ssas_overwrite_file – Se o arquivo de backup do SSAS deve ser substituído. Os valores válidos são 1 (Sim) e 0 (Não).

    nota

    O procedimento armazenado para backup não oferece suporte a criptografia.

Restaurar um banco de dados do SSAS

Use o procedimento armazenado a seguir para restaurar um banco de dados do SSAS de um backup.

exec msdb.dbo.rds_msbi_task @task_type='SSAS_RESTORE_DB', @database_name='mynewssasdb', @file_path='D:\S3\ssas_db_backup.abf';

Os seguintes parâmetros são obrigatórios:

  • @task_type – O tipo da tarefa do MSBI, nesse caso SSAS_RESTORE_DB.

  • @database_name – O nome do novo banco de dados do SSAS para o qual você está restaurando.

  • @file_path – O caminho para o arquivo de backup do SSAS.

nota

Não será possível restaurar um banco de dados se houver um banco de dados existente do SSAS com o mesmo nome. O procedimento armazenado para restauração não oferece suporte a arquivos de backup criptografados.

Restauração de uma instância de banco de dados para um tempo especificado

A recuperação point-in-time (PITR) não se aplica a bancos de dados do SSAS. Se você fizer PITR, somente os dados do SSAS no último snapshot antes do tempo solicitado estarão disponíveis na instância restaurada.

Como ter bancos de dados do SSAS atualizados em uma instância de banco de dados restaurada

  1. Faça backup dos bancos de dados do SSAS para a pasta D:\S3 na instância de origem.

  2. Transfira os arquivos de backup para o bucket do S3.

  3. Transfira os arquivos de backup do bucket do S3 para a pasta D:\S3 na instância restaurada.

  4. Execute o procedimento armazenado para restaurar os bancos de dados do SSAS na instância restaurada.

nota

Também é possível reprocessar o projeto do SSAS para restaurar os bancos de dados.

Como desabilitar o SSAS

Para desabilitar o SSAS, remova a opção SSAS do grupo de opções. Antes de remover a opção SSAS, exclua os bancos de dados do SSAS.

Importante

É altamente recomendável que você faça backup dos bancos de dados do SSAS antes de excluí-los e remover a opção SSAS.

Como remover a opção SSAS do grupo de opções

  1. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. No painel de navegação, escolha Option groups (Grupos de opções).

  3. Selecione o grupo de opções com a opção SSAS (ssas-se-2017 nos exemplos anteriores).

  4. Selecione Delete option (Excluir opção).

  5. Em Deletion options (Opções de exclusão), selecione SSAS em Options to delete (Opções a serem excluídas).

  6. Em Apply immediately (Aplicar imediatamente), selecione Yes (Sim) para excluir a opção imediatamente ou No (Não) para excluí-la na próxima janela de manutenção.

  7. Escolha Delete (Excluir).

Como remover a opção SSAS do grupo de opções

  • Use um dos seguintes comandos.

    Para Linux, macOS ou Unix:

    aws rds remove-option-from-option-group \ --option-group-name ssas-se-2017 \ --options SSAS \ --apply-immediately

    Para Windows:

    aws rds remove-option-from-option-group ^ --option-group-name ssas-se-2017 ^ --options SSAS ^ --apply-immediately