Implantação de script e tarefas administrativas

Reporting Services dá suporte ao uso de scripts para automatizar a instalação, a implantação e as tarefas administrativas de rotina. A implantação de um servidor de relatórios é um processo de várias etapas. É preciso usar diversos processos e ferramentas para configurar uma implantação. Não existe nenhum programa ou abordagem que possa ser usado para automatizar todas as tarefas.

Não são todas as etapas que devem ser automatizadas. Em alguns casos, a abordagem mais simples e eficaz é executar uma etapa manualmente ou por meio de uma ferramenta gráfica. Por exemplo, se você deseja implantar uma grande quantidade de relatórios e modelos, é melhor copiar os bancos de dados do servidor de relatórios do que escrever um código que recrie o ambiente de servidor de relatórios.

Algumas etapas exigem um código personalizado. Por exemplo, a configuração das URLs para o serviço Web e o Gerenciador de Relatórios pode ser automatizada, mas apenas se você escrever o código personalizado que faz chamadas no provedor WMI (Instrumentação de Gerenciamento do Windows) do Servidor de Relatórios. Se você não quiser escrever código, utilize a ferramenta de Configuração Reporting Services para realizar a etapa.

Para executar o script que configure um servidor de relatórios, é necessário ser um administrador local no computador que você está configurando. Para obter mais informações, consulte Configurar um Servidor de Relatório para Administração Remota.

Este artigo descreve abordagens recomendadas para automatizar etapas específicas. Diversos programas e interfaces programáticas são citados. Serão fornecidas descrições de cada um posteriormente neste artigo.

Tarefas de implantação e como automatizá-las

A tabela a seguir resume as tarefas de instalação e configuração necessárias para implantar um servidor de relatórios. Utilize a tabela para fazer a correspondência de uma tarefa específica a uma abordagem que permita automatizar ou realizar a tarefa autônoma.

Tarefa Abordagem
Instale o Reporting Services. É possível executar a instalação da linha de comando para fazer uma instalação autônoma.

Utilize Instalação para instalar e configurar um servidor de relatório, mas apenas se você especificar a opção de configuração padrão e seu sistema atender todos os requisitos desse tipo de instalação. Caso não consiga instalar a configuração padrão, será preciso realizar uma instalação somente arquivos.
Configure a conta de serviço. A conta de serviço é configurada inicialmente por meio da Instalação. Para automatizar alterações na conta de serviço como uma tarefa pós-Instalação, é preciso escrever o código personalizado que faz chamadas no provedor WMI do Servidor de Relatórios. Não há nenhum utilitário de prompt de comando ou modelos de script para configurar a conta de serviço de forma programada.

Se os requisitos de codificação impedirem que você automatize esta etapa, você poderá facilmente configurar a conta manualmente executando a ferramenta de Configuração Reporting Services . Para obter mais informações, confira Configurar uma conta de serviço (Configuration Manager do Servidor de Relatório).
Configure o serviço Web do Servidor de Relatórios e as URLs do Gerenciador de Relatórios. Escreva o código personalizado que faz chamadas no provedor WMI do Servidor de Relatórios. Não há nenhum utilitário de linha de comando ou modelos de script para configurar as URLs.

Se preferir não escrever o código, você poderá configurar as URLs manualmente executando a ferramenta de Configuração Reporting Services . Para obter mais informações, confira Configurar uma URL (Configuration Manager do Servidor de Relatório).
Crie o banco de dados do servidor de relatórios. Escreva o código personalizado que faz chamadas no provedor WMI do Servidor de Relatórios. Não há nenhum utilitário de prompt de comando ou modelos de script para criar os bancos de dados de servidor de relatórios e RSExecRole.

Se preferir não escrever o código, você poderá criar o banco de dados manualmente executando a ferramenta de Configuração Reporting Services . Para obter mais informações, confira Criar um banco de dados do servidor de relatório no modo nativo (Configuration Manager do Servidor de Relatório).
Configure a conexão do banco de dados do servidor de relatórios. Se estiver alterando a cadeia de conexão, a conta, a senha ou o tipo de autenticação da conexão, execute o utilitário rsconfig para configurar a conexão. Para obter mais informações, confira Configurar uma conexão de banco de dados do servidor de relatório (Configuration Manager do Servidor de Relatório) e Utilitário rsconfig (SSRS).

Não é possível usar rsconfig.exe para criar ou atualizar o banco de dados. O banco de dados e a RSExecRole já devem existir.
Configure uma implantação de expansão. Escolha dentre as seguintes abordagens para automatizar a implantação de expansão:

Execute o utilitário rskeymgmt.exe para integrar instâncias do servidor de relatório a uma instalação existente. Para obter mais informações, confira Adicionar e remover as chaves de criptografia para implantação escalável (Configuration Manager do Servidor de Relatório).
– Escreva o código personalizado executado no provedor WMI do Servidor de Relatório.
Backup de chaves de criptografia. Escolha dentre as seguintes abordagens para automatizar o backup da chave de criptografia:

– Execute o utilitário rskeymgmt.exe para fazer o backup das chaves. Para saber mais, confira Fazer backup e restaurar chaves de criptografia do Reporting Services.
– Escreva o código personalizado executado no provedor WMI do Servidor de Relatório.
Configure o email do Servidor de Relatórios. Escreva o código personalizado executado no provedor WMI Reporting Services . O provedor oferece suporte a um subconjunto de configurações de email.

Embora o arquivo RSReportServer.config inclua todas as configurações, não utilize o arquivo de maneira automatizada. Mais especificamente, não use um arquivo em lotes para copiar o arquivo para outro servidor de relatórios. Cada arquivo de configuração inclui valores que são específicos à instância atual. Esses valores não são válidos em outras instâncias do servidor de relatório.

Confira mais informações em Configurações de email — modo nativo do Reporting Services (Configuration Manager).
Configure a conta de execução autônoma. Escolha dentre as seguintes abordagens para automatizar a configuração de conta de processamento autônoma:

– Execute o utilitário rsconfig.exe para configurar a conta. Para obter mais informações, confira Configurar a conta de execução autônoma (Configuration Manager do Servidor de Relatório).
– Escreva o código personalizado que faz chamadas no provedor WMI do Servidor de Relatório.
Implemente o conteúdo existente em outro servidor de relatórios, incluindo a hierarquia de pastas, as atribuições de função, os relatórios, as assinaturas, as agendas, as fontes de dados e os recursos. A melhor maneira de recriar um ambiente de servidor de relatórios existente é copiar o banco de dados do servidor de relatórios para uma nova instância de servidor de relatórios.

Outra opção é escrever o código personalizado que recria o conteúdo do servidor de relatórios existente de forma programada. No entanto, as assinaturas, os instantâneos de relatório e o histórico de relatórios não podem ser recriados de forma programada.

Algumas implantações podem se beneficiar do uso das duas técnicas juntas. Por exemplo, restaure um banco de dados do servidor de relatório e execute o código personalizado que modifica o banco de dados do servidor de relatório para uma instalação específica.

Para obter um exemplo detalhado, consulte Script rs.exe do Reporting Services de exemplo para copiar conteúdo entre servidores de relatório.

Para obter mais informações sobre como relocar um banco de dados do servidor de relatório, confira Mover os bancos de dados do servidor de relatório para outro computador (Modo nativo do SSRS). Para obter mais informações sobre como criar o ambiente do servidor de relatório de forma programática, consulte a seção "Usar scripts para migrar o conteúdo e as pastas do servidor de relatório" neste artigo.

Ferramentas e tecnologias para automatizar a implantação do servidor

A lista a seguir resume os programas e as interfaces que podem ser usados para automatizar as tarefas de implantação e manutenção:

  • O programa Instalação pode ser executado em modo autônomo para instalar e às vezes configurar os componentes do servidor de relatórios. Utilize a opção de instalação Somente Arquivos para que Instalação configure uma instância de servidor de relatórios.

  • O provedor WMI Reporting Services e os utilitários de linha de comando Reporting Services podem ser usados para a configuração de servidor local e remota.

    O provedor WMI do Reporting Services expõe classes, propriedades e métodos que permitem configurar todos os aspectos de uma instalação do Reporting Services. Esses aspectos incluem a especificação da conta de serviço e a configuração de URLs. Eles também podem incluir a criação e configuração do banco de dados do servidor de relatório ou a configuração de um servidor de relatório para entrega de email. Escreva o código personalizado ou script para usar o provedor WMI. Para obter mais informações, consulte Acessar o provedor WMI do Reporting Services.

    Além de escrever o código, outra alternativa é usar os utilitários de linha de comando (rsconfig.exe e rskeymgmt.exe). Você pode gravar arquivos em lotes que executam os utilitários. É possível usar os utilitários para automatizar algumas, mas não todas as tarefas de configuração.

  • A ferramenta de host de script (rs.exe) do servidor de relatório pode executar o código personalizado Microsoft Visual Basic que você talvez escreva para recriar ou transferir o conteúdo existente de um servidor de relatório para outro. Com essa abordagem, você escreve um script em Visual Basic, salva-o como um arquivo .rss e usa rs.exe para executar o script no servidor de relatório de destino. O script escrito pode chamar a interface SOAP para o serviço Web do Servidor de Relatórios. Os scripts de implantação são escritos por meio dessa abordagem porque permitem recriar um espaço de trabalho e conteúdo de uma pasta de servidor de relatórios e recriar a segurança baseada na função.

  • A versão SQL Server 2012 introduziu cmdlets do PowerShell para o modo integrado do SharePoint. Você pode usar o PowerShell para configurar e administrar a integração com o SharePoint. Para obter mais informações, consulte Cmdlets do PowerShell para o modo SharePoint do Reporting Services.

Usar scripts para migrar conteúdo e pastas do servidor de relatório

Você pode escrever scripts que duplicam um ambiente de servidor de relatórios em outra instância de servidor de relatórios. Os scripts de implantação são escritos em Visual Basic e, depois, processados usando o utilitário host do script do servidor de relatórios.

Para obter um exemplo detalhado, consulte Script rs.exe do Reporting Services de exemplo para copiar conteúdo entre servidores de relatório.

Utilize scripts para copiar pastas, fontes de dados compartilhados, recursos, relatórios, atribuições de função e configurações de um servidor para outro. Você pode escrever um script para uma instância de servidor de relatórios e, em seguida, executá-lo em outro servidor para recriar o namespace do servidor de relatórios. Se possuir diversos servidores de relatórios em sua implantação Reporting Services , você pode executar o script em cada servidor individualmente para configurar todos os servidores da mesma maneira.

A lista a seguir descreve as etapas da migração de relatórios de um servidor para outro.

  1. Defina sua variável de script como a URL do servidor de relatório de fonte.

  2. Use os métodos GetItemDefinition e GetProperties para recuperar a definição e as propriedades do relatório.

  3. Defina a URL para que aponte para o servidor de destino.

  4. Use o método CreateCatalogItem , passando as propriedades retornadas por GetProperties e a definição de relatório retornada por GetItemDefinition.

Usando uma combinação dos métodos de obtenção e criação, é possível realizar etapas semelhantes para migrar configurações, pastas, fontes de dados compartilhados e recursos. Para obter mais informações sobre os métodos disponíveis, confira Referência técnica (SSRS).

Observação

Os scripts executados sob as credenciais do Microsoft Windows do usuário que está executando o script a menos que as credenciais estejam explicitamente configuradas.

Para obter mais informações sobre como formatar e executar um arquivo de script, consulte Script com o utilitário rs.exe e o serviço Web.

Usando scripts para configurar propriedades do servidor

Você pode escrever scripts que configuram as propriedades do sistema no servidor de relatórios. O script .NET Visual Basic a seguir exibe um modo de configurar as propriedades. Este exemplo desabilita o controle ActiveX de RSClientPrint, mas é possível substituir EnableClientPrinting e False por qualquer nome e valor válido da propriedade. Para exibir uma lista completa das propriedades do servidor, consulte Propriedades do sistema do servidor de relatório.

Para usar o script, salve-o em um arquivo com extensão .rss e, em seguida, use o utilitário de prompt de comando rs.exe para executar o arquivo no servidor de relatórios. O script não é compilado, logo não é necessário ter uma instalação de Visual Basic. Este exemplo supõe que você possui permissões no computador local que hospeda o servidor de relatórios. Caso não esteja conectado por uma conta que possua permissões, é preciso especificar as informações de conta por meio de outros argumentos de linha de comando. Para obter mais informações, confira Utilitário RS.exe (SSRS).

Public Sub Main()  
        Dim props(0) As [Property]  
        Dim setProp As New [Property]  
        setProp.Name = "EnableClientPrinting"  
        setProp.Value = "False"   
        props(0) = setProp  
        Try  
            rs.SetSystemProperties(props)  
        Catch ex As System.Web.Services.Protocols.SoapException  
            Console.Write(ex.Detail.InnerXml)  
        Catch e as Exception  
            Console.Write(e.Message)  
        End Try  
End Sub