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

Suporte para SQL Server Reporting Services no Amazon RDS para SQL Server

O Microsoft SQL Server Reporting Services (SSRS) é um aplicativo baseado em servidor usado para geração e distribuição de relatórios. Ele faz parte de um conjunto de serviços do SQL Server que também inclui o SQL Server Analysis Services (SSAS) e o SQL Server Integration Services (SSIS). O SSRS é um serviço criado com base no SQL Server. É possível usá-lo para coletar dados de várias fontes de dados e apresentá-los de uma forma facilmente compreensível e pronta para análise.

O Amazon RDS for SQL Server oferece suporte à execução de SSRS diretamente em instâncias de banco de dados do RDS. É possível habilitar o SSRS para instâncias de banco de dados novas ou existentes.

O RDS oferece suporte ao SSRS 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.5820.21.v1 e posterior

Limitações e recomendações

As seguintes limitações e recomendações aplicam-se à execução do SSRS no RDS for SQL Server:

  • As instâncias devem usar o AWS Managed Microsoft AD para o portal da web do SSRS e a autenticação de servidor web.

  • Não há suporte para importar e restaurar bancos de dados do servidor de relatório de outras instâncias do SSRS.

    Certifique-se de usar os bancos de dados que são criados quando a opção SSRS é adicionada à instância de banco de dados do RDS. Para obter mais informações, consulte Bancos de dados do servidor de relatórios.

  • Não é possível configurar o SSRS para escutar na porta SSL padrão (443). Os valores permitidos são 1150–49511, exceto 1234, 1434, 3260, 3343, 3389 e 47001.

  • Não há suporte para assinaturas por e-mail ou compartilhamento de arquivos do Microsoft Windows.

  • Não há suporte para o uso do Gerenciador de configuração do Reporting Services.

  • Não há suporte para a criação e a modificação de funções.

  • Não há suporte para a modificação das propriedades do servidor de relatório.

  • Não são concedidas funções de administrador e usuário do sistema.

  • Não é possível editar atribuições de função no nível do sistema pelo portal da web.

Habilitar o SSRS

Use o seguinte processo para habilitar o SSRS na instância de banco de dados:

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

  2. Adicione a opção SSRS 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 nuvem privada virtual (VPC) para a porta do listener do SSRS.

Criar um grupo de opções para o SSRS

Para trabalhar com o SSRS, crie 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. Para fazer isso, use o AWS Management Console ou a AWS CLI.

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 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 ssrs-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 SSRS 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 procedimento a seguir cria um grupo de opções para o SQL Server Standard Edition 2017.

Como criar o grupo de opções

  • Execute um dos seguintes comandos:

Para Linux, macOS ou Unix:

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

Para Windows:

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

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

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

Como adicionar a opção SSRS

  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 Detalhes da opção, selecione SSRS em Nome da opção.

  6. Em Configurações de opção, faça o seguinte:

    1. Insira a porta de escuta do serviço SSRS. O padrão é 8443. Para obter uma lista de valores permitidos, consulte Limitações e recomendações.

    2. Insira um valor em Máximo de memória.

      O Máximo de memória especifica o limite superior acima do qual não são concedidas novas solicitações de alocação de memória aos aplicativos do servidor de relatório. O número é uma porcentagem da memória total da instância de banco de dados. Os valores permitidos são de 10 a 80.

  7. Em Security groups (Grupos de segurança), selecione o grupo de segurança da VPC a ser associado à opção. Use o mesmo grupo de segurança associado à instância de banco de dados.

  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 SSRS

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

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

    • Port – A porta de escuta do serviço SSRS. O padrão é 8443. Para obter uma lista de valores permitidos, consulte Limitações e recomendações.

    • 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 não são concedidas novas solicitações de alocação de memória aos aplicativos do servidor de relatório. O número é uma porcentagem da memória total da instância de banco de dados. Os valores permitidos são de 10 a 80.

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

    Para Linux, macOS ou Unix:

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

    Para Windows:

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

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

Use o AWS Management Console ou a AWS CLI para associar o grupo de opções à instância de banco de dados.

Se você usar uma instância de banco de dados existente, ela já deverá ter um domínio do Active Directory e uma função do AWS Identity and Access Management (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.

É possível associar 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.

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 myssrsinstance \ --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 ssrs-se-2017

    Para Windows:

    aws rds create-db-instance ^ --db-instance-identifier myssrsinstance ^ --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 ssrs-se-2017

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

  • Execute um dos seguintes comandos:

    Para Linux, macOS ou Unix:

    aws rds modify-db-instance \ --db-instance-identifier myssrsinstance \ --option-group-name ssrs-se-2017 \ --apply-immediately

    Para Windows:

    aws rds modify-db-instance ^ --db-instance-identifier myssrsinstance ^ --option-group-name ssrs-se-2017 ^ --apply-immediately

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

Para permitir o acesso de entrada ao grupo de segurança da VPC associado à instância de banco de dados, crie uma regra de entrada para a porta especificada do listener do SSRS. 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.

Bancos de dados do servidor de relatórios

Quando a instância de banco de dados está associada à opção SSRS, dois novos bancos de dados são criados na instância de banco de dados: rdsadmin_ReportServer e rdsadmin_ReportServerTempDB. Esses bancos de dados atuam como os bancos de dados ReportServer e ReportServerTempDB. O SSRS armazena os dados no banco de dados ReportServer e armazena em cache os dados no banco de dados ReportServerTempDB. O RDS possui e gerencia esses bancos de dados, portanto, não são permitidas operações de banco de dados neles, como ALTER e DROP.

Acessar o portal da Web do SSRS

Use o seguinte processo para acessar o portal da web do SSRS:

  1. Habilite o Secure Sockets Layer (SSL).

  2. Conceda acesso a usuários de domínio.

  3. Acesse o portal da web usando um navegador e as credenciais do usuário do domínio.

Habilitar o SSL no RDS

O SSRS usa o protocolo SSL HTTPS para as conexões. Para trabalhar com este protocolo, importe um certificado SSL para o sistema operacional Microsoft Windows no computador cliente.

Para obter mais informações sobre certificados SSL, consulte Usar o SSL/TLS para criptografar uma conexão a uma instanceum de bando de dados. Para obter mais informações sobre como usar o SSL com o SQL Server, consulte Uso do SSL com uma instância de banco de dados do Microsoft SQL Server.

Conceder acesso a usuários de domínio

Em uma nova ativação do SSRS, não há atribuições de função no SSRS. Para conceder a um usuário de domínio ou um grupo de usuários acesso ao portal da web, o RDS fornece um procedimento armazenado.

Como conceder acesso a um usuário de domínio no portal da web

  • Use o procedimento armazenado a seguir.

    exec msdb.dbo.rds_msbi_task @task_type='SSRS_GRANT_PORTAL_PERMISSION', @ssrs_group_or_username=N'AD_domain\user';

O usuário de domínio ou o grupo de usuários recebe a função RDS_SSRS_ROLE do sistema. Esta função tem as seguintes tarefas no nível do sistema concedidas a ela:

  • Executar definições de relatório

  • Gerenciar trabalhos

  • Gerenciar agendas compartilhadas

  • Visualizar agendas compartilhadas

A função no nível do item de Content Manager na pasta raiz também é concedida.

Acessar o portal da Web

Depois que a tarefa SSRS_GRANT_PORTAL_PERMISSION for concluída com êxito, você terá acesso ao portal usando um navegador da web. O URL do portal da web tem o formato a seguir.

https://rds_endpoint:port/Reports

Neste formato, aplica-se o seguinte item:

Como acessar o portal da web

  1. Insira o URL do portal da web no navegador.

    https://myssrsinstance.cg034itsfake.us-east-1.rds.amazonaws.com:8443/Reports
  2. Faça login com as credenciais de um usuário de domínio ao qual você concedeu acesso com a tarefa SSRS_GRANT_PORTAL_PERMISSION.

Implantar relatórios no SSRS

Após ter acesso ao portal da web, você poderá implantar relatórios nele. É possível usar a ferramenta de upload no portal da web para fazer upload de relatórios ou implantar diretamente do SQL Server Data Tools (SSDT). Ao implantar pelo SSDT, verifique o seguinte:

  • O usuário que executou o SSDT tem acesso ao portal da web do SSRS.

  • O valor TargetServerURL nas propriedades do projeto do SSRS é definido como o endpoint HTTPS da instância de banco de dados do RDS com o sufixo ReportServer, por exemplo:

    https://myssrsinstance.cg034itsfake.us-east-1.rds.amazonaws.com:8443/ReportServer

Revogar permissões no nível do sistema

A função RDS_SSRS_ROLE do sistema não tem permissões suficientes para excluir atribuições de função no nível do sistema. Para remover um usuário ou um grupo de usuários da RDS_SSRS_ROLE, use o mesmo procedimento armazenado que você usou para conceder a função, mas use o tipo de tarefa SSRS_REVOKE_PORTAL_PERMISSION.

Como revogar o acesso de um usuário de domínio para o portal da web

  • Use o procedimento armazenado a seguir.

    exec msdb.dbo.rds_msbi_task @task_type='SSRS_REVOKE_PORTAL_PERMISSION', @ssrs_group_or_username=N'AD_domain\user';

Fazer isso exclui o usuário da função RDS_SSRS_ROLE do sistema. Se o usuário tiver uma, isso também o exclui da função Content Manager no nível do item.

Monitorar o status de uma tarefa

Para acompanhar o status da tarefa de concessão ou revogação, 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 SSRS. 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 SSRS, as tarefas podem ter os seguintes tipos de tarefa:

  • SSRS_GRANT_PORTAL_PERMISSION

  • SSRS_REVOKE_PORTAL_PERMISSION

database_name

Não aplicável a tarefas do SSRS.

% 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 SSRS, 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 procedimento armazenado 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 SSRS.

overwrite_S3_backup_file

Não aplicável a tarefas do SSRS.

KMS_master_key_arn

Não aplicável a tarefas do SSRS.

filepath

Não aplicável a tarefas do SSRS.

overwrite_file

Não aplicável a tarefas do SSRS.

task_metadata

Metadados associados à tarefa do SSRS.

Desabilitar o SSRS

Para desabilitar o SSRS, remova a opção SSRS do grupo de opções. Remover a opção não exclui os bancos de dados do SSRS. Para obter mais informações, consulte Excluir os bancos de dados do SSRS.

É possível reabilitar o SSRS adicionando novamente a opção SSRS. Se você também excluiu os bancos de dados do SSRS, reabilitar o SSRS na mesma instância de banco de dados criará novos bancos de dados do servidor de relatório.

Como remover a opção SSRS 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 SSRS (ssrs-se-2017 nos exemplos anteriores).

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

  5. Em Opções de exclusão, selecione SSRS em 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 SSRS do grupo de opções

  • Execute um dos seguintes comandos:

    Para Linux, macOS ou Unix:

    aws rds remove-option-from-option-group \ --option-group-name ssrs-se-2017 \ --options SSRS \ --apply-immediately

    Para Windows:

    aws rds remove-option-from-option-group ^ --option-group-name ssrs-se-2017 ^ --options SSRS ^ --apply-immediately

Excluir os bancos de dados do SSRS

Remover a opção SSRS não exclui os bancos de dados do servidor de relatório. Para excluí-los, use o procedimento armazenado a seguir.

Para excluir os bancos de dados do servidor de relatório, certifique-se de remover a opção SSRS primeiro.

Como excluir os bancos de dados do SSRS

  • Use o procedimento armazenado a seguir.

    exec msdb.dbo.rds_drop_ssrs_databases