Compartilhar via


Script rs.exe do Reporting Services de exemplo para migrar conteúdo entre servidores de relatório

Este tópico inclui e descreve um exemplo Reporting Services script RSS que copia itens de conteúdo e configurações de um servidor de relatório SQL Server Reporting Services para outro servidor de relatório, usando o utilitário RS.exe. O RS.exe é instalado com Reporting Services, tanto em modo nativo quanto no SharePoint. O script copia itens do Reporting Services, por exemplo, relatórios e assinaturas, de servidor para outro servidor. O script oferece suporte a servidores de relatório do modo do SharePoint e de modo nativo.

Aplica-se a: Modo do SharePoint do Reporting Services | Modo Nativo do Reporting Services

Neste tópico:

Para baixar o script de ssrs_migration.rss

Baixar o script do site CodePlex Reporting Services RS.exe migra o conteúdo para uma pasta local. Veja a seção Como usar o script neste tópico para obter mais informações.

Cenários com suporte

O script oferece suporte a servidores de relatório do modo do SharePoint e de modo nativo. O script oferece suporte às seguintes versões do servidor de relatório:

  • SQL Server 2014

  • SQL Server 2012

  • SQL Server 2008 R2

O script pode ser usado para copiar o conteúdo entre servidores de relatório do mesmo modo ou de modos diferentes. Por exemplo, você pode executar o script para copiar o conteúdo de um servidor de relatório do modo nativo do SQL Server 2008 R2 para um servidor de relatório do modo do SharePoint SQL Server 2012 SP1. Você pode executar o script de qualquer servidor no qual o RS.exe esteja instalado. Por exemplo, na implantação a seguir, você pode:

  • Executar o RS.exe e o script NO Servidor A.

  • Copiar o conteúdo DO Servidor B

  • PARA o Servidor C

Nome do servidor Modo do Servidor de Relatório
Servidor A Nativo
Servidor B SharePoint
o Servidor C SharePoint

Para obter mais informações sobre o utilitário RS.exe, confira Utilitário RS.exe (SSRS).

Itens e recursos que o script migra

O script não será gravado sobre itens de conteúdo existentes de mesmo nome. Se o script detectar itens com o mesmo nome no servidor de destino que estejam no servidor de origem, os itens individuais resultarão em uma mensagem de "falha" e o script continuará. A tabela a seguir lista os tipos de conteúdo e recursos que o script pode migrar para os modos do servidor de relatório de destino.

Item Migrado SharePoint Descrição
Senhas Não Não As senhas NÃO são migradas. Depois que os itens de conteúdo forem migrados, atualize as informações de credenciais no servidor de destino. Por exemplo, fontes de dados com credenciais armazenadas.
Meus Relatórios Não Não O recurso "Meus Relatórios" no modo Nativo se baseia em logons de usuário individuais, portanto, o serviço de scripts não tem acesso ao conteúdo nas pastas "Meus Relatórios" para outros usuários, sem ser o parâmetro -u usado para execução do script rss. Além disso, "Meus Relatórios" não é um recurso de Reporting Services modo do SharePoint e os itens nas pastas não podem ser copiados para um ambiente do SharePoint. Portanto, o script não copia itens de relatório que estão nas pastas "Meus Relatórios" em um servidor de relatório de modo nativo de origem. Para migrar o conteúdo nas pastas "Meus Relatórios" com esse script, conclua o seguinte:

1) Crie novas pastas no Gerenciador de Relatórios. Opcionalmente, você pode criar pastas ou subpastas para cada usuário.

2) Faça logon como um dos usuários com o conteúdo "Meus Relatórios".

3) No Gerenciador de Relatórios, clique na pasta Meus Relatórios .

4) Clique na exibição Detalhes da pasta.

5) Selecione cada relatório que você deseja copiar.

6) Clique em Mover na barra de ferramentas do Gerenciador de Relatórios.

7) Selecione a pasta de destino desejada.

8) Repita as etapas de 2 a 7 para cada usuário.

9) Execute o script.
Histórico Não Não
Configurações de histórico Sim Sim As configurações de histórico são migradas, mas os detalhes do histórico NÃO.
Agendas sim sim Para migrar agendamentos, é necessário que o SQL Server Agent esteja em execução no servidor de destino. Se o SQL Server Agent não estiver em execução no destino, você verá uma mensagem de erro semelhante à seguinte:

Migrating schedules: 1 items found. Migrating schedule: theMondaySchedule ... FAILURE: The SQL Agent service is not running. This operation requires the SQL Agent service. ---> Microsoft.ReportingServices.Diagnostics.Utilities.SchedulerNotResponding Exception: The SQL Agent service is not running. This operation requires the SQL Agent service.
Funções e políticas do sistema Sim Sim Por padrão, o script não copiará o esquema de permissão personalizado entre servidores. O comportamento padrão é que os itens serão fixados no servidor de destino com o sinalizador "herdar permissões pai" definido como TRUE. Se você quiser que o script copie permissões para itens individuais, use a opção SECURITY.

Se os servidores de origem e destino não estiverem no mesmo modo de servidor de relatório, por exemplo, do modo nativo para o modo do SharePoint e você usar a opção SECURITY, o script tentará mapear as funções e os grupos padrão com base na comparação no seguinte tópico Comparar funções e tarefas no Reporting Services com grupos e permissões do SharePoint. As funções e os grupos personalizados não são copiados para o servidor de destino.

Quando o script estiver sendo copiado entre servidores que estejam no mesmo modoe você usar a opção SECURITY, o script criará novas funções (modo nativo) ou grupos (modo do SharePoint) no servidor de destino.

Se uma função já existir no servidor de destino, o script criará uma mensagem de "Falha" semelhante à seguinte e continuará a migração de outros itens. Depois que o script for concluído, verifique se as funções no servidor de destino estão configuradas para atender às suas necessidades. as funções de migração: oito itens encontrados.

Migrating role: Browser ... FAILURE: The role 'Browser' already exists and cannot be created. ---> Microsoft.ReportingServices.Diagnostics.Utilities.RoleAlreadyExistsException: The role 'Browser' already exists and cannot be created.

Para obter mais informações, consulte Conceder acesso de usuário a um servidor de relatório (Gerenciador de Relatórios)

Observação: se um usuário existente no servidor de origem não existir no servidor de destino, o script não poderá aplicar atribuições de função no servidor de destino, o script não poderá aplicar atribuições de função, mesmo que a opção SECURITY seja usada.
Fonte de dados compartilhada Sim Sim O script não substituirá itens existentes no servidor de destino. Se um item no servidor de destino já existir com o mesmo nome, você verá uma mensagem de erro semelhante à seguinte:

Migrating DataSource: /Data Sources/Aworks2012_oltp ... FAILURE:The item '/Data Sources/Aworks2012_oltp' already exists. ---> Microsoft.ReportingServices.Diagnostics.Utilities.ItemAlreadyExistsException: The item '/Data Source s/Aworks2012_oltp' already exists.

Credenciais NÃO são copiadas como parte da fonte de dados. Depois que os itens de conteúdo forem migrados, atualize as informações de credenciais no servidor de destino.
Conjunto de dados compartilhado Sim Sim
Pasta Sim Sim O script não substituirá itens existentes no servidor de destino. Se um item no servidor de destino já existir com o mesmo nome, você verá uma mensagem de erro semelhante à seguinte:

Migrating Folder: /Reports ... FAILURE: The item '/Reports' already exists. ---> Microsoft.ReportingServices.Diagnostics.Utilities.ItemAlreadyExistsException: The item '/Reports' already exists.
Relatório Sim Sim O script não substituirá itens existentes no servidor de destino. Se um item no servidor de destino já existir com o mesmo nome, você verá uma mensagem de erro semelhante à seguinte:

Migrating Report: /Reports/testThe item '/Reports/test' already exists. ---> Microsoft.ReportingServices.Diagnostics.Utilities.ItemAlreadyExistsException: The item '/Reports/test' already exists.
Parâmetros Sim Sim
Assinaturas Sim Sim
Configurações de histórico Sim Sim As configurações de histórico são migradas, mas os detalhes do histórico NÃO.
opções de processamento Sim Sim
opções de atualização de cache Sim Sim As configurações dependentes são migradas como parte de um item de catálogo. O exemplo a seguir está fora do script, pois migra um relatório (.rdl) e as configurações relacionadas como opções de atualização de cache:

Migrating parameters for report TitleOnly.rdl 0 items found.

Migrating subscriptions for report TitleOnly.rdl: 1 item encontrado.

Migrando assinatura Salvar em \\server\public\savedreports como TitleOnly ... SUCESSO

Migrating history settings for report TitleOnly.rdl ... SUCCESS

Migrating processing options for report TitleOnly.rdl ... 0 items found.

Migrating cache refresh options for report TitleOnly.rdl ... SUCCESS

Migrating cache refresh plans for report TitleOnly.rdl: 1 item encontrado.

Migrating cache refresh plan titleonly_refresh735amM2F ... SUCCESS
Planos de atualização de cache Sim Sim
Imagens Sim Sim
Partes de relatório Sim Sim

Permissões necessárias

As permissões necessárias para ler ou gravar itens e recursos não são as mesmas para todos os métodos usados no script. A tabela a seguir resume os métodos usados para cada item ou recurso e vincula ao conteúdo relacionado. Navegue até o tópico individual para ver as permissões necessárias. Por exemplo, o tópico do método de ListChildren indica as permissões necessárias de:

  • Permissões necessárias de modo nativo: ReadProperties no item

  • Permissões necessárias de Modo do SharePoint: ViewListItems

Item ou recurso Fonte Destino
Itens de catálogo ListChildren

GetProperties

GetItemDataSources

GetItemReferences

GetDataSourceContents

GetItemLink
CreateCatalogItem

SetItemDataSources

GetItemReferences

CreateDataSource

CreateLinkedItem

CreateFolder
Função ListRoles

GetRoleProperties
CreateRole
Política do sistema GetSystemPolicies SetSystemPolicies
Agenda ListSchedules CreateSchedule
Subscription ListSubscriptions

GetSubscriptionProperties

GetDataDrivenSubscriptionProperties
CreateSubscription

CreateDataDrivenSubscription
Plano de atualização do cache ListCacheRefreshPlans

GetCacheRefreshPlanProperties
CreateCacheRefreshPlan
Parâmetros GetItemParameters SetItemParameters
Opções de execução GetExecutionOptions SetExecutionOptions
Opções de cache GetCacheOptions SetCacheOptions
Configurações de histórico GetItemHistoryOptions SetItemHistoryOptions
Política do item GetPolicies SetPolicies

Para obter mais informações, consulte Comparar funções e tarefas no Reporting Services com grupos e permissões do SharePoint.

Como usar o script

  1. Baixe o arquivo de script em uma pasta local, por exemplo, c:\rss\ssrs _migration.rss.

  2. Abra um prompt de comando com privilégios administrativos.

  3. Navegue até a pasta que contém o arquivo de ssrs_migration.rss.

  4. Execute o comando com os parâmetros adequados para seu cenário.

Exemplo básico, o servidor de relatório de modo nativo para um servidor de relatório de modo nativo:

O exemplo a seguir migra o conteúdo do modo nativo Sourceserver para o modo nativo Targetserver.

rs.exe -i ssrs_migration.rss -e Mgmt2010 -s http://SourceServer/ReportServer -u Domain\User -p password -v ts="http://TargetServer/reportserver" -v tu="Domain\Userser" -v tp="password"

Observações de uso:

  • O script é executado em duas etapas.

    A primeira etapa é uma auditoria, para retornar uma lista de itens que serão migrados e a segunda etapa é o processo de migração.

    Você poderá cancelar o script após a etapa 1 se você só quiser ver a lista possível de migração ou caso você queira alterar os parâmetros. As configurações dependentes não são listadas na etapa. Por exemplo, as opções de cache de um relatório não são listadas mas o próprio relatório é.

    Dica

    Se você deseja auditar um único servidor, use o mesmo servidor como origem e destino, e cancele depois da etapa 1.

    Um bom uso das informações de auditoria da etapa 1 é verificar funções existentes no servidor de modo nativo de origem e destino. O item a seguir é um exemplo da lista de auditoria da etapa um. Observe que a lista inclui uma seção "funções" porque a opção -v security="True" foi usada:

    • Retrieve and report the list of items that will be migrated. You can cancel the script after step 1 if you do not want to start the actual migration.

      Retrieving roles:

      Role: Browser

      Role: Content Manager

      Role: Model Item Browser

      Retrieve and report the list of items that will be migrated. You can cancel the script after step 1 if you do not want to start the actual migration.

      Retrieving roles:

      Role: Browser

      Role: Content Manager

      Role: CustomRole

      Role: Model Item Browser

      Role: My Reports

      Role: Publisher

      Role: Report Builder

      Role: System Administrator

      Role: System User

      Retrieving system policies:

      Retrieving system policies:

      System policy: BUILTIN\Administrators

      System policy: domain\user1

      System policy: domain\ueser2

      Retrieving schedules:

      Schedule: theMondaySchedule

      Retrieving catalog items. This may take a while.

      Folder: /Data Sources

      DataSource: /Data Sources/Aworks2012_oltp

      Folder: /images

      Resource: /images/Boba Fett.png

      Resource: /images/R2-D2.png

      Folder: /Reports

      Report: /Reports/products

      Report: /Reports/test

      Report: /Reports/TitleOnly

  • SOURCE_URL e TARGET_URL devem ser URLs de servidor de relatório válidas que apontem para o servidor de relatório do Reporting Services de origem e destino. No modo nativo, uma URL de servidor de relatório é semelhante à seguinte:

    • https://servername/reportserver

    No modo do SharePoint, a URL tem a seguinte aparência:

    • https://servername/_vti_bin/reportserver
  • A estrutura de pasta virtual apresentada ao usuário no SharePoint pode ser diferente da subjacente. Abra https://servername/_vti_bin/reportserver ou https://servername/sites/site_name/_vti_bin/reportserver em um navegador para ver a estrutura de pastas não virtual. Isso é útil para definir as pastas de origem e destino como algo diferente de “/”, para um servidor no modo do SharePoint.

  • As senhas não são migradas e devem ser reinseridas, por exemplo, fontes de dados com credenciais armazenadas.

Descrição do parâmetro

Parâmetro Descrição Obrigatório
-s Source_URL URL do servidor de relatório de origem Sim
-u Domain\password -p password Credenciais do servidor de origem. OPCIONAL, as credenciais padrão serão usadas se ausente
-v st="SITE" OPCIONAL. Esse parâmetro é usado apenas para servidores de relatório do modo do SharePoint.
- v f="SOURCEFOLDER" Defina “/” para migrar tudo, ou para algo como “/folder/subfolder” para a migração parcial. Tudo nessa pasta será copiado OPCIONAL, o padrão é "/".
-v ts="TARGET_URL" 'URL do servidor RS de destino"
-v tu="domain\username" -v tp="password" 'Credenciais do servidor de destino. OPCIONAL, as credenciais padrão serão usadas se ausente. Observação: o usuário será listado como "autor" de agendas compartilhadas e conta "alterado por" para itens de relatório, no servidor de destino.
-v tst="SITE" OPCIONAL. Esse parâmetro é usado apenas para servidores de relatório do modo do SharePoint.
-v tf ="TARGETFOLDER" 'Defina como "/" para migração para o nível raiz. Defina como "/folder/subfolder" para copiar em um item que já exista. Tudo em "SOURCEFOLDER" será copiado para "TARGETFOLDER. OPCIONAL, o padrão é "/".
-v security= "True/False" Se definido como "False", itens de catálogo de destino herdarão a configuração de segurança de acordo com as configurações do sistema de destino. Essa é a configuração recomendada para migrações entre tipos de servidor de relatório diferentes, por exemplo, do modo nativo para o modo do SharePoint. Se definido como "True", o script tentará migrar configurações de segurança. OPCIONAL, o padrão é "False".

Mais exemplos

Servidor de relatório do modo nativo para servidor de relatório do modo nativo

O exemplo a seguir migra o conteúdo do modo nativo Sourceserver para o modo nativo Targetserver.

rs.exe -i ssrs_migration.rss -e Mgmt2010 -s http://SourceServer/ReportServer -u Domain\User -p password -v ts="http://TargetServer/reportserver" -v tu="Domain\Userser" -v tp="password"  

O exemplo a seguir adiciona a opção de segurança:

rs.exe -i ssrs_migration.rss -e Mgmt2010 -s http://SourceServer/ReportServer -u Domain\User -p password -v ts="http://TargetServer/reportserver" -v tu="Domain\Userser" -v tp="password" -v security="True"  

Modo nativo para o modo do SharePoint – site raiz

O exemplo a seguir migra o conteúdo de um modo nativo SourceServer para o "site raiz" em um servidor do modo do SharePoint TargetServer. As pastas "Reports" e "Data Sources" no servidor no modo nativo conforme migradas como novas bibliotecas na implantação do SharePoint.

ssrs_rss_migrate_root_site

rs.exe -i ssrs_migration.rss -e Mgmt2010 -s http://SourceServer/ReportServer -u Domain\User -p Password -v ts="http://TargetServer/_vti_bin/ReportServer" -v tu="Domain\User" -v tp="Password"  

Modo nativo para o modo do SharePoint -'bi' conjunto de sites

O exemplo a seguir migra o conteúdo de um servidor de modo nativo para um servidor do SharePoint que contém um conjunto de sites "sites/bi" e uma biblioteca de documentos compartilhados. O script cria pastas no documento na biblioteca de destino. Por exemplo, o script criará pastas "Reports" e "Data Sources" na biblioteca de documentos de destino.

rs.exe -i ssrs_migration.rss -e Mgmt2010 -s http://SourceServer/ReportServer -u Domain\User -p Password -v ts="http://TargetServer/sites/bi/_vti_bin/reportserver" -v tst="sites/bi" -v tf="Shared Documents" -v tu="Domain\User" -v tp="Password"  

Modo do SharePoint para o modo do SharePoint -'bi' conjunto de sites

O exemplo a seguir migra conteúdo:

  • De um servidor do SharePoint SourceServer que contém um conjunto de sites "sites/bi" e uma biblioteca de documentos compartilhados.

  • Para um servidor do SharePoint TargetServer que contém um conjunto de sites "sites/bi" e uma biblioteca de documentos compartilhados.

rs.exe -i ssrs_migration.rss -e Mgmt2010 -s http://SourceServer/_vti_bin/reportserver -v st="sites/bi" -v f="Shared Documents" -u Domain\User1 -p Password -v ts="http://TargetServer/sites/bi/_vti_bin/reportserver" -v tst="sites/bi" -v tf="Shared Documents" -v tu="Domain\User" -v tp="Password"  

Modo nativo para o modo nativo – Máquina Virtual do Azure

O exemplo a seguir migra conteúdo:

  • De um servidor de relatório do modo nativo SourceServer.

  • Para um servidor de relatório do modo nativo TargetServer em execução em uma máquina virtual do Azure. O TargetServer não está ingressado no domínio do SourceServer e o User2 é um administrador na máquina virtual do Azure TargetServer.

rs.exe -i ssrs_migration.rss -e Mgmt2010 -s http://SourceServer/ReportServer -u Domain\user1 -p Password -v ts="http://ssrsnativeazure.cloudapp.net/ReportServer" -v tu="user2" -v tp="Password2"  

Dica

Saiba mais sobre como usar o Windows PowerShell para criar servidores de relatório do Reporting Services nas máquinas virtuais do Azure em Usar o PowerShell para criar uma máquina virtual do Azure com um servidor de relatório do modo nativo.

Conjunto de sites do Modo do SharePoint -'bi' para um Servidor de Modo Nativo na Máquina Virtual do Azure

O exemplo a seguir migra conteúdo:

  • De um servidor de relatório do modo do SharePoint SourceServer que contém um conjunto de sites "sites/bi" e uma biblioteca de documentos compartilhados.

  • Para um servidor de relatório do modo nativo TargetServer em execução em uma máquina virtual do Azure. O TargetServer não está ingressado no domínio do SourceServer e o User2 é um administrador na máquina virtual do Azure TargetServer.

rs.exe -i ssrs_migration.rss -e Mgmt2010 -s http://uetesta02/_vti_bin/reportserver -u user1 -p Password -v ts="http://ssrsnativeazure.cloudapp.net/ReportServer" -v tu="user2" -v tp="Passowrd2"  

Verificação

A seção resume algumas das etapas a serem realizadas no servidor de destino para verificar se o conteúdo e as políticas foram migrados com êxito.

Agendas

Para verificar agendamentos no servidor de destino:

Native Mode

  1. Navegue até o Gerenciador de Relatórios no servidor de destino.

  2. Clique em Configurações de Site no menu inicial.

  3. Clique em Agendamentos no painel esquerdo.

Modo do SharePoint:

  1. Navegue para Configurações de site.

  2. No grupo Reporting Services , clique em Gerenciar Agendas Compartilhadas.

Funções e grupos

Native Mode

  1. Abra o SQL Server Management Studio e conecte-se ao seu servidor de relatórios no modo nativo.

  2. No Pesquisador de Objetos , clique em Segurança.

  3. Clique em Funções.

Solução de problemas

Use o sinalizador de rastreamento -t para receber mais informações. Por exemplo, se você executar o script e visualizar uma mensagem semelhante à seguinte

  • Não foi possível se conectar ao servidor: http://< servername>/ReportServer/ReportService2010.asmx

Execute o script novamente com o sinalizador -t para ver uma mensagem semelhante à seguinte:

  • System.Exception: não foi possível se conectar ao servidor: http://< servername>/ReportServer/ReportService2010.asmx ---> System.Net.WebException: a solicitação falhou com HTTP status 401: Não autorizado. at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at Microsoft.SqlServer.ReportingServices2010.ReportingService2010.IsSSLRequired() at Microsoft.ReportingServices.ScriptHost.Management2010Endpoint.PingService(String url, String userName, String password, String domain, Int32 timeout) at Microsoft.ReportingServices.ScriptHost.ScriptHost.DetermineServerUrlSecurity() --- End of inner exception stack trace ---

Consulte Também

RS.exe Utility (SSRS)
Comparar funções e tarefas no Reporting Services com grupos e permissões do SharePoint