Compartilhar via


Criar o RSExecRole

O Reporting Services usa uma função de banco de dados predefinida chamada RSExecRole para conceder permissões de servidor de relatório ao banco de dados do servidor de relatório. A RSExecRole função é criada automaticamente com o banco de dados do servidor de relatório. Como regra geral, você nunca deve modificá-la ou atribuir outros usuários à função. No entanto, quando você move um banco de dados do servidor de relatório para um mecanismo de banco de dados novo ou diferente do SQL Server, deve recriar a função nos bancos de dados do sistema Mestre e MSDB.

Usando as instruções a seguir, você executará as seguintes etapas:

  • Crie e provisione no banco de dados do sistema mestre o RSExecRole.

  • Crie e provisione o RSExecRole na base de dados do sistema MSDB.

Observação

As instruções deste tópico são voltadas para os usuários que não desejam executar um script ou gravar um código WMI para provisionar o banco de dados de servidor de relatório. Se você gerenciar uma grande implantação e mover bancos de dados periodicamente, grave um script para automatizar estas etapas. Para obter mais informações, consulte Acessar o provedor WMI do Reporting Services.

Antes de começar

  • Faça backup das chaves de criptografia de forma que você possa restaurá-las depois que o banco de dados for movido. Esta etapa não afeta diretamente sua capacidade de criar e provisionar o RSExecRole, mas você deve ter um backup das chaves para verificar seu trabalho. Para saber mais, confira Back Up and Restore Reporting Services Encryption Keys.

  • Verifique se você está conectado como uma conta de usuário que tem sysadmin permissões na instância do SQL Server.

  • Verifique se o serviço do SQL Server Agent está instalado e em execução na instância do Mecanismo de Banco de Dados que pretende usar.

  • Anexe os bancos de dados reportservertempdb e reportserver. Você não precisa anexar os bancos de dados para criar a função real, mas eles devem ser anexados antes que você possa testar seu trabalho.

As instruções para criar manualmente o RSExecRole destinam-se a ser usadas no contexto da migração de uma instalação do servidor de relatórios. Tarefas importantes, como fazer backup e mover o banco de dados do servidor de relatório, não são abordadas neste tópico, mas estão documentadas na documentação do Mecanismo de Banco de Dados.

Criar RSExecRole no Master

O Reporting Services usa procedimentos armazenados estendidos para que o serviço do SQL Server Agent dê suporte a operações agendadas. As etapas a seguir explicam como conceder permissões de execução para os procedimentos para o papel RSExecRole.

Para criar RSExecRole no banco de dados do sistema mestre usando o Management Studio

  1. Inicie o SQL Server Management Studio e conecte-se à instância do Mecanismo de Banco de Dados que hospeda o banco de dados do servidor de relatório.

  2. Abra Bancos de Dados.

  3. Abra Bancos de Dados do Sistema.

  4. Abra o Master.

  5. Abra Segurança.

  6. Abra Funções.

  7. Clique com o botão direito do mouse em Funções de Banco de Dadose selecione Nova Função de Banco de Dados. A página Geral é exibida.

  8. No nome da função, digite RSExecRole.

  9. No Proprietário, digite DBO.

  10. Clique em Securables.

  11. Clique em Pesquisar. A caixa de diálogo Adicionar Objetos é exibida. A opção Objetos Específicos é selecionada por padrão.

  12. Clique em OK. A caixa de diálogo Selecionar Objetos é exibida.

  13. Clique em Tipos de Objeto.

  14. Clique em Procedimentos Armazenados Estendidos.

  15. Clique em OK.

  16. Clique em Procurar.

  17. Role para baixo a lista de procedimentos armazenados estendidos e selecione o seguinte:

    1. xp_sqlagent_enum_jobs

    2. xp_sqlagent_is_starting

    3. xp_sqlagent_notify

  18. Clique em OK e clique em OK novamente.

  19. Na linha Executar , na coluna Conceder , clique na caixa de seleção e clique em OK.

  20. Repita essas etapas para cada um dos procedimentos armazenados restantes. RSExecRole deve receber permissões executar para todos os três procedimentos armazenados.

Página de Propriedades da Função de Banco de Dados

Criar o RSExecRole no MSDB

O Reporting Services usa procedimentos armazenados para o serviço do SQL Server Agent e recupera informações de trabalho das tabelas do sistema para suportar as operações agendadas. As etapas a seguir explicam como conceder permissões Executar para os procedimentos e as permissões Selecionar nas tabelas para o RSExecRole.

Para criar RSExecRole no banco de dados do sistema MSDB

  1. Repita etapas semelhantes para conceder permissões a procedimentos armazenados e tabelas no MSDB. Para simplificar as etapas, você provisionará os procedimentos armazenados e as tabelas separadamente.

  2. Abra o MSDB.

  3. Abra Segurança.

  4. Abra Funções.

  5. Clique com o botão direito do mouse em Funções de Banco de Dadose selecione Nova Função de Banco de Dados. A página Geral é exibida.

  6. No nome da função, digite RSExecRole.

  7. No Proprietário, digite DBO.

  8. Clique em Seguráveis.

  9. Clique em Adicionar. A caixa de diálogo Adicionar Objetos é exibida. A opção Especificar Objetos é selecionada por padrão.

  10. Clique em OK.

  11. Clique em Tipos de Objeto.

  12. Clique em Procedimentos Armazenados.

  13. Clique em OK.

  14. Clique em Procurar.

  15. Role para baixo a lista de itens e selecione o seguinte:

    1. sp_add_category

    2. sp_add_job

    3. sp_add_jobschedule

    4. sp_add_jobserver

    5. sp_add_jobstep

    6. sp_delete_job

    7. sp_help_category

    8. sp_help_job

    9. sp_help_jobschedule

    10. sp_verificar_identificadores_de_trabalho

  16. Clique em OK e clique em OK novamente.

  17. Selecione o primeiro procedimento armazenado: sp_add_category.

  18. Na linha Executar , na coluna Conceder , clique na caixa de seleção e clique em OK.

  19. Repita essas etapas para cada um dos procedimentos armazenados restantes. RSExecRole deve receber permissões executar para todos os dez procedimentos armazenados.

  20. Na guia Protegíveis, clique em Adicionar novamente. A caixa de diálogo Adicionar Objetos é exibida. A opção Especificar Objetos é selecionada por padrão.

  21. Clique em OK.

  22. Clique em Tipos de Objeto.

  23. Clique em Tabelas.

  24. Clique em OK.

  25. Clique em Procurar.

  26. Role para baixo a lista de itens e selecione o seguinte:

    1. syscategories

    2. sysjobs

  27. Clique em OK e clique em OK novamente.

  28. Selecione a primeira tabela: syscategories.

  29. Na linha Selecionar , na coluna Conceder , clique na caixa de seleção e clique em OK.

  30. Repita para a tabela sysjobs. O RSExecRole deve obter permissões Selecionar para as duas tabelas.

Mover o banco de dados do servidor de relatório

Depois de criar as funções, você pode mover o banco de dados de servidor de relatório para a nova instância do SQL Server. Para obter mais informações, consulte Movendo os bancos de dados do servidor de relatório para outro computador (modo nativo do SSRS).

Se você estiver atualizando o Mecanismo de Banco de Dados para o SQL Server 2019 (15.x), poderá atualizá-lo antes ou depois de mover o banco de dados.

O banco de dados do servidor de relatório será atualizado automaticamente para o SQL Server 2019 (15.x) quando o servidor de relatório se conectar a ele. Não há nenhuma etapa específica necessária para atualizar o banco de dados.

Restaurar chaves de criptografia e verificar seu trabalho

Se você anexou os bancos de dados do servidor de relatório, agora poderá concluir as etapas a seguir para verificar seu trabalho.

Para verificar a operabilidade do servidor de relatório após uma movimentação de banco de dados

  1. Inicie a ferramenta Configuração do Reporting Services e conecte-se ao servidor de relatório.

  2. Clique em Banco de Dados.

  3. Clique em Alterar Banco de Dados.

  4. Clique em Escolher um banco de dados do servidor de relatório existente.

  5. Insira o nome do servidor do Mecanismo de Banco de Dados. Se você anexou os bancos de dados do servidor de relatório a uma instância nomeada, deverá digitar o nome da instância nesse formato: <servername>\<instancename>.

  6. Clique em Testar Conexão.

  7. Clique em Próximo.

  8. Em Banco de Dados, selecione o banco de dados de servidor de relatório.

  9. Clique em Seguinte e conclua o assistente.

  10. Clique Chaves de Criptografia.

  11. Clique em Restaurar.

  12. Selecione o arquivo forte (.snk) que tem a cópia de backup da chave simétrica usada para descriptografar as credenciais armazenadas e as informações de conexão no banco de dados de servidor de relatório.

  13. Insira a senha e clique em OK.

  14. Clique na URL do Gerenciador de Relatórios.

  15. Clique no link para abrir o Gerenciador de Relatórios. Você deve ver os itens de servidor de relatório do banco de dados de servidor de relatório.

Consulte Também

Movendo os bancos de dados do servidor de relatório para outro computador (modo nativo do SSRS)Gerenciador de Configurações do Reporting Services (Modo Nativo)Criar um banco de dados do servidor de relatório de modo nativo (SSRS Configuration Manager)Fazer backup e restaurar chaves de criptografia do Reporting Services