Partilhar via


Implementação de scripts e tarefas administrativas

Os Serviços de Relatórios suportam a utilização de scripts para automatizar a instalação, implementação e tarefas administrativas rotineiras. A implementação de um servidor de relatórios é um processo em várias etapas. Deve usar várias ferramentas e processos para configurar uma implementação; Não existe um único programa ou abordagem que possa ser usado para automatizar todas as tarefas.

Nem todos os passos devem ser automatizados. Em alguns casos, realizar um passo manualmente ou através de uma ferramenta gráfica é a abordagem mais simples e eficaz. Por exemplo, se quiseres implementar um grande número de relatórios e modelos, é melhor copiar as bases de dados do servidor de relatórios em vez de escrever código que recria o ambiente do servidor de relatórios.

Alguns passos requerem código personalizado. Por exemplo, a configuração dos URLs para o serviço Web e o Gestor de Relatórios pode ser automatizada, mas apenas se escrever código personalizado que faça chamadas para o fornecedor de Instrumentação de Gestão Windows (WMI) do Servidor de Relatórios. Se não quiser escrever código, deve usar a ferramenta Reporting Services Configuration para realizar o passo.

Para executar um script que configura um servidor de relatórios, tens de ser um administrador local no computador que estás a configurar. Para mais informações, consulte Configurar um servidor de relatórios para administração remota.

Este artigo descreve abordagens recomendadas para automatizar etapas específicas. São mencionados vários programas e interfaces programáticas; descrições de cada um são fornecidas mais adiante neste artigo.

Tarefas de implementação e como as automatizar

A tabela seguinte resume as tarefas de instalação e configuração necessárias para implementar um servidor de relatórios. Pode usar a tabela para associar uma tarefa específica a uma abordagem que lhe permita automatizar ou executar a tarefa sem supervisão.

Tarefa Abordagem
Instalar serviços de relatório. Podes executar a configuração a partir da linha de comandos para realizar uma instalação sem vigilância.

Pode usar o Setup para instalar e configurar um servidor de relatórios, mas apenas se especificar a opção de configuração padrão e o seu sistema cumprir todos os requisitos para este tipo de instalação. Se não conseguir instalar a configuração predefinida, deve realizar uma instalação apenas com ficheiros.
Configura a conta de serviço. A conta de serviço é inicialmente configurada através da Configuração. Para automatizar alterações na conta de serviço como tarefa pós-Configuração, deve escrever código personalizado que faça chamadas para o fornecedor WMI do Servidor de Relatórios. Não existem utilitários de prompt de comandos nem modelos de script para configurar a conta de serviço programaticamente.

Se os requisitos de codificação o impedirem de automatizar esta etapa, pode facilmente configurar a conta manualmente ao executar a ferramenta de Configuração dos Serviços de Relatório. Para mais informações, consulte Configurar uma conta de serviço (Gestor de Configuração do Servidor de Relatórios).
Configure o serviço Web do Servidor de Relatórios e as URLs do Gestor de Relatórios. Deve escrever código personalizado que faça chamadas para o provedor WMI do Servidor de Relatórios. Não existem utilitários de linha de comandos nem modelos de script para configurar os URLs.

Se quiser evitar escrever código, pode configurar manualmente as URLs correndo a ferramenta de Configuração dos Serviços de Relatórios. Para mais informações, consulte Configurar uma URL (Gestor de Configuração do Servidor de Relatórios).
Crie a base de dados do servidor de relatórios. Deve escrever código personalizado que faça chamadas para o fornecedor WMI do Servidor de Relatórios. Não existem utilitários de prompt de comandos nem modelos de script para criar as bases de dados do servidor de relatórios e o RSExecRole.

Se quiser evitar escrever código, pode criar a base de dados manualmente executando a ferramenta de Configuração dos Serviços de Relatórios. Para mais informações, consulte Criar uma base de dados de servidor de relatórios em modo nativo (Gestor de Configuração do Servidor de Relatórios).
Configure a ligação à base de dados do servidor de relatórios. Se estiveres a alterar a cadeia de ligação, a conta ou a palavra-passe, ou o tipo de autenticação, executa a ferramenta rsconfig para configurar a ligação. Para mais informações, consulte Configurar uma ligação à base de dados do servidor de relatórios (Gestor de Configuração do Servidor de Relatórios) e Utilidade RSCONFIG (SSRS).

Não podes usar rsconfig.exe para criar ou atualizar a base de dados. A base de dados e o RSExecRole já devem existir.
Configure uma implementação de expansão de escala. Escolha entre as seguintes abordagens para automatizar a implementação escalonada:

- Executar a utilidade rskeymgmt.exe para juntar instâncias do servidor de relatórios a uma instalação existente. Para mais informações, consulte Adicionar e remover chaves de encriptação para implementação escalonável (Gestor de Configuração do Servidor de Relatórios).
- Escrever código personalizado que seja executado contra o fornecedor WMI do Servidor de Relatórios.
Chaves de encriptação de backup. Escolha entre as seguintes abordagens para automatizar a cópia de segurança da chave de encriptação:

- Executa o utilitário rskeymgmt.exe para fazer backup das chaves. Para mais informações, consulte Fazer backup e restaurar as chaves de encriptação dos Serviços de Relatório.
- Escrever código personalizado que seja executado contra o fornecedor WMI do Servidor de Relatórios.
Configurar o e-mail do Servidor de Relatórios. Escreva código personalizado que seja executado em relação ao provedor WMI dos Serviços de Relatório. O fornecedor suporta um subconjunto das definições de configuração do e-mail.

Embora o ficheiro RSReportServer.config inclua todas as definições, não use o ficheiro de forma automática. Especificamente, não uses um ficheiro batch para copiar o ficheiro para outro servidor de relatórios. Cada ficheiro de configuração inclui valores específicos da instância atual. Esses valores não são válidos noutras instâncias do servidor de relatórios.

Para mais informações sobre as definições, consulte Definições de e-mail - Modo nativo dos Serviços de Relatórios (Gestor de Configuração).
Configure a conta de execução não assistida. Escolha entre as seguintes abordagens para automatizar a configuração de contas de processamento desatendido:

- Executar a utilidade rsconfig.exe para configurar a conta. Para mais informações, consulte Configurar a conta de execução não assistida (Gestor de Configuração do Servidor de Relatórios).
- Escrever código personalizado que faça chamadas para o fornecedor WMI do Servidor de Relatórios.
Implemente conteúdos existentes noutro servidor de relatórios, incluindo a hierarquia de pastas, atribuições de funções, relatórios, subscrições, agendamentos, fontes de dados e recursos. A melhor forma de recriar um ambiente existente de servidor de relatórios é copiar a base de dados do servidor de relatórios para uma nova instância do servidor de relatórios.

Uma abordagem alternativa é escrever código personalizado que recrie o conteúdo existente do servidor de relatórios de forma programática. No entanto, subscrições, capturas instantâneas de relatórios e histórico de relatórios não podem ser recriados programaticamente.

Algumas implementações podem beneficiar ao usar ambas as técnicas em conjunto. Por exemplo, restaurar uma base de dados do servidor de relatórios e depois executar código personalizado que modifica a base de dados do servidor de relatórios para uma instalação específica.

Para um exemplo detalhado, veja Sample Reporting Services rs.exe script para copiar conteúdos entre servidores de relatórios.

Para mais informações sobre a realocação de uma base de dados de um servidor de relatórios, consulte Mover as bases de dados do servidor de relatórios para outro computador (modo nativo SSRS). Para mais informações sobre como criar um ambiente de servidor de relatórios de forma programática, consulte a secção "Usar scripts para migrar conteúdo e pastas do servidor de relatórios" neste artigo.

Ferramentas e tecnologias para automatizar a implementação de servidores

A lista seguinte resume os programas e interfaces que podem ser usados para automatizar tarefas de implementação e manutenção:

  • O programa Setup pode ser executado em modo desatendido para instalar e, por vezes, configurar componentes do servidor de relatórios. Deve usar a opção de instalação Files-Only para que o Setup configure uma instância de servidor de relatórios.

  • O fornecedor WMI dos Serviços de Relatórios e as utilidades de linha de comandos dos Serviços de Relatórios podem ser usados para configuração local e remota de servidores.

    O fornecedor WMI de Serviços de Relatórios expõe classes, propriedades e métodos que permitem configurar todos os aspetos de uma instalação de Serviços de Relatório. Esses aspetos incluem especificar a conta do serviço e configurar URLs. Podem também incluir a criação e configuração da base de dados do servidor de relatórios ou a configuração de um servidor de relatórios para entrega de e-mail. É necessário escrever código ou script personalizado para usar o provedor WMI. Para mais informações, consulte o Fornecedor WMI de Serviços de Acesso a Relatórios.

    Uma alternativa à escrita de código é usar as utilidades de linha de comandos (rsconfig.exe e rskeymgmt.exe). Podes escrever ficheiros batch que executam as utilidades. Podes usar as utilidades para automatizar algumas, mas não todas, as tarefas de configuração.

  • A ferramenta de host de script do servidor de relatórios (rs.exe) pode executar código Microsoft Visual Basic personalizado que você pode escrever para recriar ou mover conteúdo existente de um servidor de relatórios para outro. Com esta abordagem, escreves um script no Visual Basic, guardas-no como um ficheiro .rss e usas rs.exe para executar o script no servidor de relatórios de destino. O script que escreves pode chamar a interface SOAP ao serviço web do Servidor de Relatórios. Os scripts de implementação são escritos usando esta abordagem porque permite recriar a estrutura de pastas e conteúdos do servidor de relatórios, bem como recriar a segurança baseada em funções.

  • A versão do SQL Server 2012 introduziu cmdlets do PowerShell para o modo integrado do SharePoint. Pode usar o PowerShell para configurar e administrar a integração do SharePoint. Para mais informações, consulte cmdlets do PowerShell para o modo SharePoint dos Serviços de Relatórios.

Use scripts para migrar o conteúdo e as pastas do Servidor de Relatórios

Podes escrever scripts que dupliquem um ambiente de servidor de relatórios noutra instância de servidor de relatórios. Os scripts de implementação são escritos em Visual Basic e depois processados usando a utilidade host do script do servidor de relatórios.

Para um exemplo detalhado, veja Sample Reporting Services rs.exe script para copiar conteúdos entre servidores de relatórios.

Use scripts para copiar pastas, fontes de dados partilhadas, recursos, relatórios, atribuições de funções e definições de um servidor para outro. Escreves um script para uma instância do servidor de relatórios e depois corre-o noutro servidor para recriar o namespace do servidor de relatórios. Se tiver vários servidores de relatórios na sua implementação dos Serviços de Relatório, pode executar o script em cada servidor individualmente para configurar todos os servidores da mesma forma.

A lista seguinte descreve os passos para migrar relatórios de um servidor para outro.

  1. Defina a variável script para a URL do servidor de relatórios de origem.

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

  3. Defina o URL para apontar para o servidor de destino.

  4. Use o método CreateCatalogItem, passando as propriedades devolvidas por GetProperties e a definição do relatório devolvida por GetItemDefinition.

Usando uma combinação de métodos get e create, pode realizar passos semelhantes para migrar definições, pastas, fontes de dados partilhadas e recursos. Para mais informações sobre os métodos disponíveis, consulte Referência técnica (SSRS).

Observação

Os scripts são executados sob as credenciais do Microsoft Windows do utilizador que executa o script, a menos que as credenciais estejam explicitamente definidas.

Para mais informações sobre como formatar e executar um ficheiro de script, consulte Script com a utilidade rs.exe e o serviço web.

Utilização de scripts para definir propriedades do servidor

Podes escrever scripts que definam as propriedades do sistema no servidor de relatórios. O seguinte script para Visual Basic .NET mostra uma forma de definir propriedades. Este exemplo desativa o controlo RSClientPrint ActiveX, mas pode substituir EnableClientPrinting e False por qualquer nome e valor de propriedade válidos. Para ver uma lista completa das propriedades do servidor, consulte Reportar propriedades do sistema do servidor.

Para usar o script, guarde-o num ficheiro com extensão .rss e depois use a rs.exe ferramenta de prompt de comandos para executar o ficheiro no servidor de relatórios. O script não está compilado, por isso não é necessário ter uma instalação do Visual Basic. Este exemplo assume que tens permissões no computador local que aloja o servidor de relatórios. Se não estiver ligado a uma conta com permissões, deve especificar a informação da conta através de outros argumentos de linha de comandos. Para mais informações, veja RS.exe utilidade (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