O blog da AWS

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

Por Edgar Tellez, Sr. Solutions Architect na AWS

 

Agora você pode executar o Microsoft SQL Server Reporting Services (SSRS) diretamente em um Amazon Relational Database Service (RDS) para sua instância do SQL Server. Você pode habilitar o SSRS em instâncias Single-AZ ou Multi-AZ nas edições Standard ou Enterprise do SQL Server 2017. Se você estiver executando o SSRS no Amazon Elastic Compute Cloud (Amazon EC2), agora você pode economizar custos de licenciamento executando o SSRS diretamente em um Amazon RDS para SQL Server, que hospeda o portal da Web do servidor de relatório na mesma instância de banco de dados do RDS que o banco de dados do SQL Server.

Você obtém benefícios como gerenciar chaves de criptografia SSRS, modificar configurações de SSRS com o clique de um botão, patch de software e configurações Multi-AZ do Amazon Relational Database Service (Amazon RDS), que fornecem alta disponibilidade para SSRS.

SSRS é uma ferramenta para gerar e distribuir relatórios. A interface do SSRS é um portal da Web com o qual você pode interagir para criar, exibir, editar e excluir relatórios. Os relatórios permitem que você visualize e dê sentido aos seus dados para tomar decisões.
Esta publicação aborda como fazer o seguinte com o SSRS

  • Habilite o serviço em sua instância de banco de dados SQL Server do Amazon RDS
  • Configure a porta e a memória do serviço.
  • Conceder e revogar permissões
  • Conectar-se ao portal da Web
  • Implantar relatórios
  • Desativar o serviço

 

Pré-requisitos

Para configurar o SSRS no Amazon RDS para SQL Server, sua instância do RDS deve atender aos seguintes requisitos:

  • Seja o SQL Server 2017 Standard ou Enterprise edições (14.00.323.3.v1 e superior)
  • Participe do AWS Directory Service para Microsoft Active Directory

 

Criar e associar um grupo de opções

O SSRS está habilitado em uma instância do RDS por meio de um grupo de opções. Você deve usar um grupo de opções existente para o SQL Server 2017 com base na edição da instância do RDS. Para obter mais informações, consulte Trabalhando com grupos de opções. Para habilitar o SSRS por meio de um grupo de opções, execute as seguintes etapas:

1. No console do Amazon RDS, selecione Grupos de opções

2. Selecione o grupo de opções no qual a opção SSRS será adicionada

3. Escolha a opção Adicionar

 

 

4. Em Nome da opção, escolha SSRS.

 

 

5. As seguintes configurações de opção serão exibidas

    • Porta — Defina qualquer valor entre 1150 e 49152, desde que não entre em conflito com uma porta reservada. Portas SSRS típicas, como 443 e 80, são reservadas e não são permitidas no Amazon RDS.
    • Max Memory — Defina a memória máxima para o serviço SSRS. Se o serviço SSRS atingir a memória máxima configurada, ele tentará liberar memória ou rejeitar solicitações para que não exceda o limite. Dependendo do uso do SSRS, considere um valor que não seja intrusivo para outros aplicativos na mesma instância, como o mecanismo de banco de dados do SQL Server. Os valores válidos estão entre 10 e 80%.
    • Grupos de Segurança — Selecione um Grupo de Segurança associado à instância do banco de dados. Esse grupo de segurança deve ter uma regra que permita o acesso SSRS de entrada para a porta configurada.

6. No agendamento você deve selecionar quando essas alterações foram feitas no serviço Amazon RDS, durante o horário de manutenção especificado ou imediatamente, essa opção executará uma reinicialização do serviço e poderá causar a indisponibilidade do serviço.

7. Escolha a opção Adicionar Opção para associar a opção SSRS ao grupo de opções.
Agora você pode associar esse grupo de opções a uma instância do RDS para habilitar o SSRS.

 

 

Banco de dados do servidor

Quando você adiciona a opção SSRS pela primeira vez, você verá doisnovosbancos de dados em sua instância do RDS:RDSAdmin_ReportServer  e RDSAdmin_ReportServerTempDB.

O SSRS está configurado para usar esses bancos de dados. Se você estiver em uma instância Multi-AZ RDS, poderá ver que RDSAdmin_ReportServerTempDB não está espelhado ou não faz parte do grupo de disponibilidade, o que é normal. Aautomação do RDS gerencia esses bancos de dados durante o failover ou substituições de host para que o serviço SSRS não seja afetado.

 

Conectando-se ao Servidor de Relatório Web Portal

Depois de adicionar o SSRS a um grupo de opções e associado a uma instância do RDS, você pode se conectar ao portal da Web do servidor de relatório. Você pode acessar o portal da Web em seu navegador por meio de qualquer computador que também esteja conectado ao domínio da instância do RDS.

Antes de poder exibir o portal da Web, você deve conceder acesso a um usuário de domínio. Para fazer isso, execute as seguintes etapas:

1. Inicie o SQL Server Management Studio (SSMS).

2. Conecte-se ao mecanismo do SQL Server da instância do RDS para o qual o SSRS está habilitado.

3. Execute o procedimento armazenado, concluindo os argumentos apropriados:

exec msdb.dbo.rds_msbi_task
 @task_type ='SSRS_GRANT_PORTAL_PERSIONY',
 @ssrs_group_or_username =N'AD\ usuário'

AD é o nome do seu domínio e usuário é o nome do usuário ou grupo com o qual você acessa o portal da Web.

4. Você pode verificar o status do procedimento armazenado com o seguinte código

SELECT * DE dbo.rds_fn_task_status (NULL,task_id)

 

O valor task_id é o ID da tarefa, que é obtido a partir da etapa anterior. Digite 0 para exibir todas as id_ids da tarefa para todas as tarefas existentes.

A imagem a seguir mostra o resultado da chamada para o ponto anterior; task_id refere-se ao ID da tarefa do cliente, task_type é o tipo de tarefa, o ciclo de vida é o estado em que a tarefa está localizada e task_info fornece informações adicionais sobre o status da tarefa.

 

 

Quando a tarefa no ciclo de vida é SUCESSO, a tarefa é concluída e você pode prosseguir para a próxima etapa.

O SSRS usa SSL HTTPS para suas conexões com o servidor de relatório, portanto, você deve importar um certificado do Amazon RDS para a instância do cliente. Para obter mais informações sobre como usar SSL com SQL Server, consulte Uso de SSL com uma Instância de Banco de Dados do Microsoft SQL Server.

Usando seu navegador preferido, você pode se conectar ao portal da Web. A URL do portal da Web é,    https://<rds-endpoint>: <port> /Reports, onde <rds-endpoint>é o ponto final da instância do RDS e <port> é a porta configurada para SSRS ao adicionar a opção.

 

Gerenciar permissões do SSRS

Depois de se conectar ao portal com o usuário do domínio, você pode configurar e gerenciar permissões no nível do item.

1. Abra o portal da Web em seu navegador

2. Na home page do portal, escolha Gerenciar Pasta ou Gerenciar Pasta.

 

 

3. Na guiaSegurança  , adicione, edite e exclua atribuições de função. O usuário que você concedeu permissões do portal já deve ter a função Gerenciador de conteúdo. A captura de tela a seguir mostra o resultado após o procedimento armazenado para conceder permissão para o portal executado para o usuário MsBidDomain\Admin.

 

 

Adicionar usuários ou grupos adicionais não requer mais o procedimento armazenado porque você pode fazê-lo diretamente aqui.

 

Excluir permissões no nível do sistema

Você não pode exibir permissões de nível de sistema SSRS por meio do portal da Web. Somente os usuários ou grupos que recebem acesso ao portal por meio do procedimento armazenado têm uma atribuição no nível do sistema. Se você precisar removê-los, você precisa fazê-lo usando o seguinte código:

exec msdb.dbo.rds_msbi_task
 @task_type ='SSRS_REVOKE_PORTAL_PERSIONY',
 @ssrs_group_or_username =N'AD\ usuário'

 

AD é o nome do seu domínio e usuário é o nome do usuário ou grupo ao qual você deseja excluir permissões no nível do sistema

Certifique-se de que o ciclo de vida da tarefaexibe SUCESSOS para a permissão de nível de sistema do usuário. Isso também remove atribuições de função no nível de elemento do usuário.

 

Trabalhando com relatórios

Depois de ter permissão do portal, você pode implantar relatórios por meio do portal da Web.  Você pode escolher a ferramenta Upload no portal da web, como mostrado na imagem seguinte.

 

 

Você também pode implantar relatórios usando o SQL Server Data Tools (SSDT). Para criar um projeto de servidor de relatório e implantar o relatório diretamente no SSRS em execução na instância do RDS, execute as seguintes etapas:

1. Abra o SSDT e escolha ou crie um novo projeto de servidor de relatório, como mostrado na captura de tela abaixo.

Certifique-se de abrir SSDT com o início de sessão do Windows que foi concedida permissão SSRS através do procedimento armazenado. Isso é para garantir que a implantação do relatório não falhe, pois o usuário deve ter permissões suficientes para implantar um relatório diretamente, paraoutros, qualquer usuário atribuído à função Gerenciador de conteúdo também pode  implementar um relatório.

 

 

Depois de projetar o relatório, você pode tornar o destino de implantação o ponto de extremidade da instância do RDS.

2. Selecionar no menu Projeto

3. Escolha SSRSProject Properties. (Para esta publicação, o projeto é chamado SSRSProject)

 

 

4. Defina targetServerURL para o ponto de extremidade HTTPS da instância do RDS com o sufixo da porta na qual SSRS e/ReportServerestão escutando  (por exemplo, https://my-instance-endpoint.amazonaws.com:8443/ReportServer).

 

 

Agora, quando  a  solução for implantada,elaserá carregada diretamente no SSRS na instância do RDS.

 

Trabalhando com Origens de Dados

Em um relatório, você pode ter uma fonte de dados que é um banco de dados na mesma instância do RDS em que o SSRS está sendo executado. Se você usar a Autenticação do Windows para que as credenciais do relatório façam logon na fonte de dados, você pode ter problemas de autenticação.

Você pode resolver isso certificando-se de que a fonte de dados na seqüência de conexão está configurada na interface de loopback (por exemplo, localhost ou . . ) Ou o nome de domínio totalmente qualificado (FQDN) da instância do RDS. O FQDN de uma instância do RDS é o nome da instância com o sufixo do FQDN do domínio (por exemplo, my-instance.my.domain.com, onde meu-instância é o nome da instância e meu.domínio.domínio.com é o nome de domínio). A captura de tela a seguir mostra uma conexão de origem de dados usando o FQDN de uma instância de banco de dados RDS para o banco de dadosTestDB .

 

 

Desativando o SSRS

Se você não precisar mais do SSRS para ser executado na instância do RDS, você pode remover a opção para desabilitar o serviço.

Remover a opção não exclui os bancos de dados do servidor de relatório, portanto, você pode excluir a opção com segurança sem perder os relatórios salvos no SSRS. Adicionar a opção SSRS após a exclusão reativa o serviço SSRS e você pode acessar todos os relatórios que você carregou anteriormente.

Também poderá pretender eliminar as bases de dados do servidor de relatório se já não utilizar o SSRS e não pretender que as bases de dados ocupem espaço. Nesse caso, depois que a opção é excluída, você pode usar um procedimento armazenado que descarta os bancos de dados RDSAdmin_ReportServer e RDSAdmin_ReportServerTempDB. Consulte o seguinte código:

exec msdb.dbo.rds_drop_ssrs_databases;

Visão geral

Esta publicação mostrou como configurar o SSRS no Amazon RDS para SQL Server. Se você executar o SSRS no Amazon EC2, poderá economizar custos consolidando essas cargas de trabalho para serem executadas na mesma instância do RDS que seu banco de dados do SQL Server. Você pode facilmente implantar, armazenar e baixar relatórios usando o portal da Web do servidor de relatório após a ativação em uma instância do RDS. Experimente o SSRS hoje mesmo no AWS Management Console e compartilhe suas experiências nos comentários.

 

Este artigo foi traduzido do Blog da AWS em Espanhol.

 


Sobre o autor

Edgar Tellez nos últimos 10 anos, vem auxiliando várias empresas dos setores público e privado a adotar a tecnologia de nuvem. Antes de ingressar na equipe da AWS, Edgar trabalhou em outros provedores de nuvem, se especializando em plataformas de dados como SQL Server, Business Intelligence (SSAS, SSIS, SSRS), Machine Learning, etc. ajudando clientes em toda a América Latina.