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

Suporte para o SQL Server Analysis Services no Amazon RDS for 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.

É 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. Para obter mais informações sobre o SSAS, consulte a Documentação do Analysis Services da Microsoft.

O Amazon RDS oferece suporte às Standard e Enterprise Editions do SSAS for SQL Server nas seguintes versões:

  • Modo tabular:

    • Versão 15.00.4043.16.v1 e posterior do SQL Server 2019

    • Versão 14.00.3223.3.v1 e posterior do SQL Server 2017

    • Versão 13.00.5426.0.v1 e posterior do SQL Server 2016

  • Modo multidimensional:

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

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

Limitações

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

  • O RDS for SQL Server oferece suporte à execução do SSAS no modo Tabular ou Multidimensional. Para obter mais informações, consulte Comparar soluções tabulares e multidimensionais na documentação da Microsoft.

  • É possível usar apenas um modo SSAS de cada vez. Antes de alterar os modos, certifique-se de excluir todos os bancos de dados SSAS.

    Para obter mais informações, consulte Alterar o modo SSAS.

  • O modo multidimensional não é compatível com o SQL Server 2019.

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

  • As instâncias devem usar o Active Directory autogerenciado ou o AWS Directory Service for Microsoft Active Directorypara autenticação SSAS. Para obter mais informações, consulte Trabalhar com o Active Directory com o RDS para SQL Server.

  • 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.

Ativar o SSAS

Use o seguinte processo para ativar 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. Permita acesso de entrada ao grupo de segurança da nuvem privada virtual (VPC) para a porta do ouvinte do SSRS.

  5. Ative a integração do Simple Storage Service (Amazon S3).

Criar um 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 Create (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 Configurações de opção, faça o seguinte:

    1. Para Max memory (Memória máxima), insira um valor de 10 a 80.

      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.

    2. Para Mode (Modo), escolha o modo de servidor SSAS, Tabular ou Multidimensional.

      Se você não vir a opção de configuração Mode (Modo), significa que o modo multidimensional não é compatível com sua região da AWS. Para obter mais informações, consulte Limitações.

      Tabular é o padrão.

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

    nota

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

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

  8. 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 a 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.

    • MODE – O modo de servidor SSAS, Tabular ou Multidimensional. Tabular é o padrão.

      Se você receber um erro dizendo que a opção de configuração MODE não é válida, isso significa que o modo multidimensional não é aceito em sua região da AWS. Para obter mais informações, consulte Limitações.

    Veja a seguir um exemplo de arquivo JSON com configurações de opção SSAS.

    { "OptionGroupName": "ssas-se-2017", "OptionsToInclude": [ { "OptionName": "SSAS", "Port": 2383, "VpcSecurityGroupMemberships": ["sg-0abcdef123"], "OptionSettings": [{"Name":"MAX_MEMORY","Value":"60"},{"Name":"MODE","Value":"Multidimensional"}] }], "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 console ou a 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 Trabalhar com o Active Directory com o RDS para 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 \ --manage-master-user-password \ --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 ^ --manage-master-user-password ^ --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 Simple Storage Service (Simple Storage Service (Amazon S3))

Para baixar arquivos de configuração de modelo para seu host para implantação, use a integração do Simple Storage Service (Simple Storage Service (Amazon 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 Simple Storage Service (Simple Storage Service (Amazon 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. Baixe o 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 Baixar 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. Baixe o 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.

Para obter mais informações, consulte Solução de problemas do SSAS.

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. Localize a string de conexão e atualize o nome de usuário e a senha para dar acesso ao banco de dados da fonte do SQL. Isso é necessário para processar objetos SSAS.

    1. Para o modo Tabular, faça o seguinte:

      1. Escolha a guia Connections (Conexões).

      2. Abra o menu de contexto (clique com o botão direito do mouse) do objeto de conexão e escolha Properties (Propriedades).

      3. Atualize o nome de usuário e a senha na string de conexão.

    2. Para o modo Multidimensional, faça o seguinte:

      1. Expanda a guia Data Sources (Origem dos dados).

      2. Abra o menu de contexto (clique com o botão direito do mouse) para o objeto de origem dos dados e escolha Properties (Propriedades).

      3. Atualize o nome de usuário e a senha na string de conexão.

  4. 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.

Configurar um usuário autenticado pelo Windows para o SSAS

O usuário administrador principal (às vezes chamado de usuário primário) pode usar o exemplo de código a seguir para configurar um logon autenticado pelo Windows e conceder as permissões de procedimento necessárias. Isso concede permissões ao usuário do domínio para executar tarefas do cliente SSAS, usar procedimentos de transferência de arquivos do S3, criar credenciais e trabalhar com o proxy do SQL Server Agent. Para obter mais informações, consulte Credenciais (mecanismo de banco de dados) e Criar um proxy do SQL Server Agent na documentação da Microsoft.

Você pode conceder algumas ou todas as seguintes permissões, conforme necessário, aos usuários autenticados pelo Windows.

-- Create a server-level domain user login, if it doesn't already exist USE [master] GO CREATE LOGIN [mydomain\user_name] FROM WINDOWS GO -- Create domain user, if it doesn't already exist USE [msdb] GO CREATE USER [mydomain\user_name] FOR LOGIN [mydomain\user_name] GO -- Grant necessary privileges to the domain user USE [master] GO GRANT ALTER ANY CREDENTIAL TO [mydomain\user_name] GO USE [msdb] GO GRANT EXEC ON msdb.dbo.rds_msbi_task TO [mydomain\user_name] with grant option GRANT SELECT ON msdb.dbo.rds_fn_task_status TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_task_status TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_cancel_task TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_download_from_s3 TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_upload_to_s3 TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_delete_from_filesystem TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_gather_file_details TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_add_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_update_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_grant_login_to_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_revoke_login_from_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_delete_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_enum_login_for_proxy to [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_enum_proxy_for_subsystem TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_sqlagent_proxy TO [mydomain\user_name] with grant option ALTER ROLE [SQLAgentUserRole] ADD MEMBER [mydomain\user_name] GO

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.

Criar um proxy do SSAS

Para poder programar o processamento do banco de dados do SSAS usando o SQL Server Agent, crie uma credencial do SSAS e um proxy SSAS. Execute esses procedimentos como um usuário autenticado pelo Windows.

Para criar a credencial do SSAS
  • Crie a credencial para o proxy. Para fazer isso, você pode usar o SSMS ou a seguinte instrução SQL.

    USE [master] GO CREATE CREDENTIAL [SSAS_Credential] WITH IDENTITY = N'mydomain\user_name', SECRET = N'mysecret' GO
    nota

    IDENTITY deve ser um login autenticado por domínio. Substitua mysecret pela senha do login autenticado por domínio.

Para criar o proxy do SSIS
  1. Use a seguinte instrução SQL para criar o proxy.

    USE [msdb] GO EXEC msdb.dbo.sp_add_proxy @proxy_name=N'SSAS_Proxy',@credential_name=N'SSAS_Credential',@description=N'' GO
  2. Use a seguinte instrução SQL para conceder acesso ao proxy para outros usuários.

    USE [msdb] GO EXEC msdb.dbo.sp_grant_login_to_proxy @proxy_name=N'SSAS_Proxy',@login_name=N'mydomain\user_name' GO
  3. Use a seguinte instrução SQL para dar ao subsistema do SSAS acesso ao proxy.

    USE [msdb] GO EXEC msdb.dbo.rds_sqlagent_proxy @task_type='GRANT_SUBSYSTEM_ACCESS',@proxy_name='SSAS_Proxy',@proxy_subsystem='SSAS' GO
Como visualizar o proxy e as concessões no proxy
  1. Use a seguinte instrução SQL para visualizar os beneficiários do proxy.

    USE [msdb] GO EXEC sp_help_proxy GO
  2. Use a seguinte instrução SQL para visualizar as concessões do subsistema.

    USE [msdb] GO EXEC msdb.dbo.sp_enum_proxy_for_subsystem GO

Programar o processamento de banco de dados do SSAS usando o SQL Server Agent

Depois de criar a credencial e o proxy e conceder acesso SSAS ao proxy, você pode criar um trabalho do SQL Server Agent para programar o processamento do banco de dados do SSAS.

Para programar processamento de banco de dados do SSAS
  • Use o SSMS ou o T-SQL para criar o trabalho do SQL Server Agent. O exemplo a seguir usa T-SQL. Você pode configurar ainda mais seu programa de trabalho por meio do SSMS ou o T-SQL.

    • O parâmetro @command descreve o comando XML for Analysis (XMLA) a ser executado pelo trabalho do SQL Server Agent. Este exemplo configura o processamento de banco de dados multidimensional do SSAS.

    • O parâmetro @server descreve o nome do servidor do SSAS de destino do trabalho do SQL Server Agent.

      Para chamar o serviço do SSAS na mesma instância de banco de dados do RDS em que o trabalho do SQL Server Agent reside, use localhost:2383.

      Para chamar o serviço do SSAS de fora da instância de banco de dados do RDS, use o endpoint do RDS. Você também pode usar o endpoint do Kerberos Active Directory (AD) (your-DB-instance-name.your-AD-domain-name) se as instâncias de banco de dados do RDS forem unidas pelo mesmo domínio. Para instâncias de banco de dados externas, certifique-se de configurar corretamente o grupo de segurança da VPC associado à instância de banco de dados do RDS para uma conexão segura.

    Você pode editar ainda mais a consulta para oferecer suporte a várias operações XMLA. Faça edições modificando diretamente a consulta T-SQL ou usando a interface do usuário do SSMS após a criação do trabalho do SQL Server Agent.

    USE [msdb] GO DECLARE @jobId BINARY(16) EXEC msdb.dbo.sp_add_job @job_name=N'SSAS_Job', @enabled=1, @notify_level_eventlog=0, @notify_level_email=0, @notify_level_netsend=0, @notify_level_page=0, @delete_level=0, @category_name=N'[Uncategorized (Local)]', @job_id = @jobId OUTPUT GO EXEC msdb.dbo.sp_add_jobserver @job_name=N'SSAS_Job', @server_name = N'(local)' GO EXEC msdb.dbo.sp_add_jobstep @job_name=N'SSAS_Job', @step_name=N'Process_SSAS_Object', @step_id=1, @cmdexec_success_code=0, @on_success_action=1, @on_success_step_id=0, @on_fail_action=2, @on_fail_step_id=0, @retry_attempts=0, @retry_interval=0, @os_run_priority=0, @subsystem=N'ANALYSISCOMMAND', @command=N'<Batch xmlns="http://schemas.microsoft.com/analysisservices/2003/engine"> <Parallel> <Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200" xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200" xmlns:ddl300="http://schemas.microsoft.com/analysisservices/2011/engine/300" xmlns:ddl300_300="http://schemas.microsoft.com/analysisservices/2011/engine/300/300" xmlns:ddl400="http://schemas.microsoft.com/analysisservices/2012/engine/400" xmlns:ddl400_400="http://schemas.microsoft.com/analysisservices/2012/engine/400/400" xmlns:ddl500="http://schemas.microsoft.com/analysisservices/2013/engine/500" xmlns:ddl500_500="http://schemas.microsoft.com/analysisservices/2013/engine/500/500"> <Object> <DatabaseID>Your_SSAS_Database_ID</DatabaseID> </Object> <Type>ProcessFull</Type> <WriteBackTableCreation>UseExisting</WriteBackTableCreation> </Process> </Parallel> </Batch>', @server=N'localhost:2383', @database_name=N'master', @flags=0, @proxy_name=N'SSAS_Proxy' GO

Revogar o acesso do SSAS do proxy

Você pode revogar o acesso ao subsistema SSAS e excluir o proxy SSAS usando os procedimentos armazenados a seguir.

Como revogar o acesso e excluir o proxy
  1. Revogue o acesso ao subsistema.

    USE [msdb] GO EXEC msdb.dbo.rds_sqlagent_proxy @task_type='REVOKE_SUBSYSTEM_ACCESS',@proxy_name='SSAS_Proxy',@proxy_subsystem='SSAS' GO
  2. Revogue as concessões no proxy.

    USE [msdb] GO EXEC msdb.dbo.sp_revoke_login_from_proxy @proxy_name=N'SSAS_Proxy',@name=N'mydomain\user_name' GO
  3. Exclua o proxy.

    USE [msdb] GO EXEC dbo.sp_delete_proxy @proxy_name = N'SSAS_Proxy' GO

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. Este procedimento armazenado não oferece suporte a criptografia.

    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).

Restaurar um banco de dados do SSAS

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

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.

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.

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

A recuperação em um ponto anterior no tempo (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.

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

Alterar o modo SSAS

Você pode alterar o modo no qual o SSAS é executado, seja Tabular ou Multidimensional. Para alterar o modo, use o AWS Management Console ou a AWS CLI para modificar as configurações de opções na opção SSAS.

Importante

É possível usar apenas um modo SSAS de cada vez. Certifique-se de excluir todos os bancos de dados do SSAS antes de alterar o modo ou você receberá um erro.

O procedimento de console do Amazon RDS a seguir altera o modo SSAS para Tabular e define o parâmetro MAX_MEMORY para 70%.

Para modificar 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 com a opção SSAS que você quer modificar (ssas-se-2017 nos exemplos anteriores).

  4. Escolha Modify option (Modificar opção).

  5. Altere as configurações de opção:

    1. Para Max memory (Memória máxima), insira 70.

    2. Para Mode (Modo), escolha Tabular.

  6. Escolha Modify option (Modificar opção).

O seguinte exemplo da AWS CLI altera o modo SSAS para Tabular e define o parâmetro MAX_MEMORY para 70%.

Para que o comando da CLI funcione, certifique-se de incluir todos os parâmetros necessários, mesmo se você não estiver modificando-os.

Para modificar a opção SSAS
  • Use um dos seguintes comandos.

    Para Linux, macOS ou Unix:

    aws rds add-option-to-option-group \ --option-group-name ssas-se-2017 \ --options "OptionName=SSAS,VpcSecurityGroupMemberships=sg-12345e67,OptionSettings=[{Name=MAX_MEMORY,Value=70},{Name=MODE,Value=Tabular}]" \ --apply-immediately

    Para Windows:

    aws rds add-option-to-option-group ^ --option-group-name ssas-se-2017 ^ --options OptionName=SSAS,VpcSecurityGroupMemberships=sg-12345e67,OptionSettings=[{Name=MAX_MEMORY,Value=70},{Name=MODE,Value=Tabular}] ^ --apply-immediately

Desativar o SSAS

Para desativar o SSAS, remova a opção SSAS do grupo de opções.

Importante

Antes de remover a opção SSAS, exclua os bancos de dados do SSAS.

É 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. Escolha o grupo de opções com a opção SSAS que você quer remover (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

Solução de problemas do SSAS

Você pode encontrar os problemas a seguir ao usar o SSAS.

Problema Tipo Sugestões de solução de problemas
Não foi possível configurar a opção SSAS. O modo SSAS solicitado é new_mode, mas a instância de banco de dados atual tem number banco de dados current_mode. Exclua os bancos de dados existentes antes de mudar para o modo new_mode. Para recuperar o acesso ao modo current_mode para exclusão do banco de dados, atualize o grupo de opções de banco de dados atual ou anexe um novo grupo de opções com %s como o valor de configuração da opção MODE para a opção SSAS. Evento RDS Você não pode alterar o modo SSAS se ainda tiver bancos de dados do SSAS que usam o modo atual. Exclua os bancos de dados do SSAS e tente novamente.
Não é possível remover a opção SSAS porque há number banco de dados de modo existentes. A opção SSAS não pode ser removida até que todos os bancos de dados SSAS sejam excluídos. Adicione a opção SSAS novamente, exclua todos os bancos de dados SSAS e tente novamente. Evento RDS Você não pode desativar o SSAS se ainda tiver bancos de dados do SSAS. Exclua os bancos de dados do SSAS e tente novamente.
A opção SSAS não está habilitada ou está em processo de habilitação. Tente novamente mais tarde. Procedimentos armazenados do RDS Você não pode executar procedimentos armazenados do SSAS quando a opção estiver desativada ou quando ela está sendo ativada.
A opção SSAS está configurada incorretamente. Certifique-se de que o status da associação do grupo de opções esteja “em sincronia” e revise os logs de eventos do RDS para mensagens de erro de configuração SSAS relevantes. Após essas investigações, tente novamente. Se os erros continuarem a ocorrer, entre em contato com o AWS Support. Procedimentos armazenados do RDS

Você não pode executar procedimentos armazenados do SSAS quando sua associação ao grupo de opções não tiver o status in-sync. Isso coloca a opção SSAS em um estado de configuração incorreto.

Se o status de associação do seu grupo de opções mudar para failed devido à modificação da opção SSAS, há dois motivos possíveis:

  1. A opção SSAS foi removida sem que os bancos de dados do SSAS fossem excluídos.

  2. O modo SSAS foi atualizado de Tabular para Multidimensional, ou de Multidimensional para Tabular, sem que os bancos de dados do SSAS existentes fossem excluídos.

Reconfigure a opção SSAS, porque o RDS permite apenas um modo SSAS por vez e não suporta a remoção de opções SSAS com bancos de dados do SSAS presentes.

Verifique se há erros de configuração nos logs de eventos do RDS para sua instância do SSAS e resolva os problemas de acordo.

Falha na implantação. A alteração só pode ser implantada em um servidor em execução no modo deployment_file_mode. O modo de servidor atual é current_mode. Procedimentos armazenados do RDS

Você não pode implantar um banco de dados Tabular em um servidor Multidimensional ou em um banco de dados Multidimensional em um servidor Tabular.

Verifique se você está usando arquivos com o modo correto e verifique se a configuração de opção MODE é definida como o valor apropriado.

A restauração falhou. O arquivo de backup só pode ser restaurado em um servidor em execução no modo restore_file_mode. O modo de servidor atual é current_mode. Procedimentos armazenados do RDS

Você não pode restaurar um banco de dados Tabular para um servidor Multidimensional ou um banco de dados Multidimensional para um servidor Tabular.

Verifique se você está usando arquivos com o modo correto e verifique se a configuração de opção MODE é definida como o valor apropriado.

A restauração falhou. O arquivo de backup e as versões da instância de banco de dados do RDS são incompatíveis. Procedimentos armazenados do RDS

Você não pode restaurar um banco de dados do SSAS com uma versão incompatível com a versão da instância do SQL Server.

Para obter mais informações, consulte Níveis de compatibilidade para modelos tabulares e Nível de compatibilidade de um banco de dados multidimensional na documentação da Microsoft.

A restauração falhou. O arquivo de backup especificado na operação de restauração está danificado ou não é um arquivo de backup do SSAS. Certifique-se de que @rds_file_path esteja formatado corretamente. Procedimentos armazenados do RDS

Você não pode restaurar um banco de dados do SSAS com um arquivo danificado.

Certifique-se de que o arquivo não esteja danificado ou corrompido.

Esse erro também pode ser gerado quando @rds_file_path não está formatado corretamente (por exemplo, ele tem barras invertidas duplas como em D:\S3\\incorrect_format.abf).

A restauração falhou. O nome do banco de dados restaurado não pode conter palavras reservadas, mais de 100 caracteres ou caracteres inválidos: . , ; ' ` : / \\ * | ? \" & % $ ! + = ( ) [ ] { } < > Procedimentos armazenados do RDS

O nome do banco de dados restaurado não pode conter palavras ou caracteres reservados que não sejam válidos ou tenham mais de 100 caracteres.

Para convenções de nomenclatura de objetos SSAS, consulte Regras de nomeação de objetos na documentação da Microsoft.

Um nome de função inválido foi fornecido. O nome da função não pode conter strings reservados. Procedimentos armazenados do RDS

O nome da função não pode conter strings reservados.

Para convenções de nomenclatura de objetos SSAS, consulte Regras de nomeação de objetos na documentação da Microsoft.

Um nome de função inválido foi fornecido. O nome da função não pode conter nenhum dos seguintes caracteres reservados: . , ; ' ` : / \\ * | ? \" & % $ ! + = ( ) [ ] { } < > Procedimentos armazenados do RDS

O nome da função não pode conter caracteres reservados.

Para convenções de nomenclatura de objetos SSAS, consulte Regras de nomeação de objetos na documentação da Microsoft.