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
Baixe o arquivo de script em uma pasta local, por exemplo, c:\rss\ssrs _migration.rss.
Abra um prompt de comando com privilégios administrativos.
Navegue até a pasta que contém o arquivo de ssrs_migration.rss.
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
ouhttps://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.
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
Navegue até o Gerenciador de Relatórios no servidor de destino.
Clique em Configurações de Site no menu inicial.
Clique em Agendamentos no painel esquerdo.
Modo do SharePoint:
Navegue para Configurações de site.
No grupo Reporting Services , clique em Gerenciar Agendas Compartilhadas.
Funções e grupos
Native Mode
Abra o SQL Server Management Studio e conecte-se ao seu servidor de relatórios no modo nativo.
No Pesquisador de Objetos , clique em Segurança.
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