Compartir a través de


Script rs.exe de ejemplo de Reporting Services para migrar contenido entre servidores de informes

En este tema se incluye y se describe un script RSS de ejemplo Reporting Services que copia los elementos de contenido y la configuración de un servidor de informes SQL Server Reporting Services a otro servidor de informes mediante la utilidad RS.exe. RS.exe se instala con Reporting Services, en los modos nativo y de SharePoint. El script copia elementos de Reporting Services, como informes y suscripciones, de un servidor en otro. El script admite servidores de informes del modo de SharePoint y de modo nativo.

Se aplica a: Modo SharePoint de Reporting Services | modo nativo de Reporting Services

En este tema:

Para descargar el script ssrs_migration.rss

Descargue el script desde el sitio de CodePlex Script de Reporting Services RS.exe que migra contenido en una carpeta local. Vea la sección Cómo usar el script de este tema para obtener más información.

Escenarios admitidos

El script admite servidores de informes del modo de SharePoint y de modo nativo. El script admite las siguientes versiones del servidor de informes:

  • SQL Server 2014

  • SQL Server 2012

  • SQL Server 2008 R2

El script se puede usar para copiar contenido entre servidores de informes del mismo modo o de modos diferentes. Por ejemplo, puede ejecutar el script para copiar contenido de un servidor de informes en modo nativo de SQL Server 2008 R2 en un servidor de informes en modo de SharePoint de SQL Server 2012 SP1. Puede ejecutar el script desde cualquier servidor en el que esté instalado RS.exe. Por ejemplo, en la implementación siguiente, puede:

  • Ejecutar RS.exe y el script EN el servidor A.

  • Copiar contenido DESDE el servidor B

  • AL servidor C

Nombre de servidor Modo del servidor de informes
Servidor A Nativa
el servidor B SharePoint
servidor C SharePoint

Para más información sobre la utilidad RS.exe, vea Utilidad RS.exe (SSRS).

Elementos y recursos que migra el script

El script no sobrescribirá elementos de contenido existentes con el mismo nombre. Si el script detecta en el servidor de destino elementos con el mismo nombre que en el servidor de origen, los elementos individuales producirán un mensaje de "error" y el script continuará. En la tabla siguiente se enumeran los tipos de contenido y los recursos que el script puede migrar en los modos del servidor de informes de destino.

Elemento Migrado SharePoint Descripción
Contraseñas No No Las contraseñas NO se migran. Después de migrar elementos de contenido, actualice la información de credenciales en el servidor de destino. Por ejemplo, orígenes de datos con credenciales almacenadas.
Mis informes No No La característica "Mis informes" del modo nativo se basa en inicios de sesión de usuarios individuales, por lo que el servicio de scripting no tiene acceso al contenido de las carpetas "Mis informes" para los usuarios que no hayan usado el parámetro -u para ejecutar el script RSS. Además, "Mis informes" no es una característica de Reporting Services modo de SharePoint y los elementos de las carpetas no se pueden copiar en un entorno de SharePoint. Por lo tanto, el script no copia elementos de informe que se encuentran en las carpetas "Mis informes" en un servidor de informes en modo nativo de origen. Para migrar el contenido de las carpetas "Mis informes" con este script, complete lo siguiente:

1) Cree nuevas carpetas en el Administrador de informes. Opcionalmente, puede crear carpetas o subcarpetas para cada usuario.

2) Inicie sesión como uno de los usuarios con contenido "Mis informes".

3) En el Administrador de informes, haga clic en la carpeta Mis informes .

4) Haga clic en la vista Detalles de la carpeta.

5) Seleccione cada informe que quiera copiar.

6) Haga clic en Mover en la barra de herramientas del Administrador de informes.

7) Seleccione la carpeta de destino deseada.

8) Repita los pasos del 2 al 7 para cada usuario.

9) Ejecute el script.
Historial No No
Configuración del historial La configuración del historial se migra, pero los detalles del historial NO se migran.
Programaciones Para migrar programaciones, es necesario que el Agente SQL Server se esté ejecutando en el servidor de destino. Si el Agente SQL Server no se está ejecutando en el destino, verá un mensaje de error similar al siguiente:

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.
Roles y directivas del sistema De forma predeterminada, el script no copiará el esquema de permisos personalizado entre servidores. El comportamiento predeterminado es que los elementos se coicionarán en el servidor de destino con la marca "heredar permisos primarios" establecida en TRUE. Si desea que el script copie permisos para elementos individuales, use el modificador SECURITY.

Si los servidores de origen y de destino no están en el mismo modo del servidor de informes, por ejemplo de modo nativo a modo de SharePoint, y usa el modificador SECURITY, el script intentará asignar roles y grupos predeterminados según la comparación que se muestra en el tema Comparación de roles y tareas en Reporting Services con grupos y permisos de SharePoint. Los roles y grupos personalizados no se copian al servidor de destino.

Cuando el script va a copiar datos entre servidores que están en el mismo modo, y usa el modificador SECURITY, el script creará nuevos roles (modo nativo) o grupos (modo de SharePoint) en el servidor de destino.

Si un rol ya existe en el servidor de destino, el script creará un mensaje de "Error" similar al siguiente y continuará con la migración de otros elementos. Cuando se completa el script, compruebe que los roles del servidor de destino están configurados de acuerdo con sus necesidades. los roles de migración: 8 elementos 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 obtener más información, vea Conceder acceso de usuario a un servidor de informes (Administrador de informes).

Nota : si un usuario que existe en el servidor de origen no existe en el servidor de destino, el script no puede aplicar las asignaciones de roles en el servidor de destino, incluso aunque se use el modificador SECURITY.
Origen de datos compartido El script no sobrescribirá elementos existentes en el servidor de destino. Si ya existe un elemento en el servidor de destino con el mismo nombre, verá un mensaje de error similar al siguiente:

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.

Las credenciales NO se copian como parte del origen de datos. Después de migrar elementos de contenido, actualice la información de credenciales en el servidor de destino.
Conjunto de datos compartidos
Carpeta El script no sobrescribirá elementos existentes en el servidor de destino. Si ya existe un elemento en el servidor de destino con el mismo nombre, verá un mensaje de error similar al siguiente:

Migrating Folder: /Reports ... FAILURE: The item '/Reports' already exists. ---> Microsoft.ReportingServices.Diagnostics.Utilities.ItemAlreadyExistsException: The item '/Reports' already exists.
Informe El script no sobrescribirá elementos existentes en el servidor de destino. Si ya existe un elemento en el servidor de destino con el mismo nombre, verá un mensaje de error similar al siguiente:

Migrating Report: /Reports/testThe item '/Reports/test' already exists. ---> Microsoft.ReportingServices.Diagnostics.Utilities.ItemAlreadyExistsException: The item '/Reports/test' already exists.
Parámetros
Suscripciones
Configuración del historial La configuración del historial se migra, pero los detalles del historial NO se migran.
opciones de procesamiento
Opciones de actualización de caché La configuración dependiente se migra como parte de un elemento de catálogo. A continuación se muestra una salida de ejemplo del script a medida que migra un informe (.rdl) y configuraciones relacionadas, como opciones de actualización de caché:

Migrating parameters for report TitleOnly.rdl 0 items found.

Migrating subscriptions for report TitleOnly.rdl: 1 items found.

Migración de la suscripción Guardar en \\server\public\savedreports como TitleOnly ... ÉXITO

Migración de la configuración del historial para el informe TitleOnly.rdl ... ÉXITO

Migración de opciones de procesamiento para el informe TitleOnly.rdl ... 0 elementos encontrados.

Migración de opciones de actualización de caché para el informe TitleOnly.rdl ... ÉXITO

Migrating cache refresh plans for report TitleOnly.rdl: 1 items found.

Migración del plan de actualización de caché titleonly_refresh735amM2F ... ÉXITO
Planes de actualización de caché
Imágenes
Elementos de informe

Permisos necesarios

Los permisos necesarios para leer o escribir elementos y recursos no son los mismos para todos los métodos empleados en el script. En la tabla siguiente se resumen los métodos usados para cada elemento o recurso y vínculos a contenido relacionado. Vaya al tema individual para ver los permisos necesarios. Por ejemplo, el tema del método ListChildren indica los permisos necesarios para:

  • Permisos obligatorios para el modo nativo: ReadProperties en el elemento

  • Permisos obligatorios para el modo de SharePoint: ViewListItems

Elemento o recurso Source Destino
Elementos de catálogo ListChildren

GetProperties

GetItemDataSources

GetItemReferences

GetDataSourceContents

GetItemLink
CreateCatalogItem

SetItemDataSources

GetItemReferences

CreateDataSource

CreateLinkedItem

CreateFolder
Role ListRoles

GetRoleProperties
CreateRole
Directiva del sistema GetSystemPolicies SetSystemPolicies
Programación ListSchedules CreateSchedule
Suscripción ListSubscriptions

GetSubscriptionProperties

GetDataDrivenSubscriptionProperties
CreateSubscription

CreateDataDrivenSubscription
Plan de actualización de caché ListCacheRefreshPlans

GetCacheRefreshPlanProperties
CreateCacheRefreshPlan
Parámetros GetItemParameters SetItemParameters
Opciones de ejecución GetExecutionOptions SetExecutionOptions
Opciones de caché GetCacheOptions SetCacheOptions
Configuración del historial GetItemHistoryOptions SetItemHistoryOptions
Directiva de elemento GetPolicies SetPolicies

Para obtener más información, vea Comparación de roles y tareas en Reporting Services con grupos y permisos de SharePoint.

Uso del script

  1. Descargue el archivo de script en una carpeta local, por ejemplo c:\rss\ssrs_migration.rss.

  2. Abra un símbolo del sistema con privilegios administrativos.

  3. Navegue hasta la carpeta que contiene el archivo ssrs_migration.rss.

  4. Ejecute el comando con los parámetros adecuados para el escenario.

Ejemplo básico, servidor de informes en modo nativo a servidor de informes en modo nativo:

En el ejemplo siguiente se migra contenido del Sourceserver en modo nativo a Targetserveren modo nativo.

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"

Notas de uso:

  • El script se ejecuta en dos pasos.

    El primer paso es una auditoría para devolver una lista de elementos que se migrarán y el segundo paso es el proceso de migración.

    Puede cancelar el script después del paso uno si solo desea ver la lista de migración posible o si desea modificar los parámetros. Las configuraciones dependientes no se muestran en el paso uno. Por ejemplo, las opciones de memoria caché de un informe no se muestran pero sí se muestra el informe.

    Sugerencia

    Si desea auditar un solo servidor, use el mismo servidor como origen y destino, y cancele la operación después del paso 1.

    Un buen uso de la información de auditoría del paso 1 consiste en revisar los roles existentes en el servidor en modo nativo de origen y de destino. A continuación se muestra un ejemplo de la lista de auditoría del paso uno. Observe que la lista incluye una sección de "roles" porque se ha usado el modificador -v security="True":

    • 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 y TARGET_URL deben ser direcciones URL de servidor de informes válidas que señalen al servidor de informes de Reporting Services de origen y de destino. En modo nativo, la dirección URL de un servidor de informes es similar a la siguiente:

    • https://servername/reportserver

    En modo de SharePoint, la dirección URL es similar a la siguiente:

    • https://servername/_vti_bin/reportserver
  • La estructura de carpetas virtuales que se muestra al usuario en SharePoint puede ser diferente que la base. Abra https://servername/_vti_bin/reportserver o https://servername/sites/site_name/_vti_bin/reportserver en un explorador para ver la estructura de carpetas no virtuales. Esto es útil para establecer la carpeta de origen y la carpeta de destino en algo distinto de "/" para un servidor en modo de SharePoint.

  • Las contraseñas no se migran, y se deben volver a especificar, por ejemplo orígenes de datos con credenciales almacenadas.

Descripción del parámetro

Parámetro Descripción Obligatorio
-s Dirección_URL_Origen Dirección URL del servidor de informes de origen.
-u Dominio\contraseña -p contraseña Credenciales del servidor de origen. OPCIONAL, se usan las credenciales predeterminadas si no se especifica
-v st="SITIO" OPCIONAL. Este parámetro solo se usa para los servidores de informes en modo de SharePoint.
- v f="CARPETADEORIGEN" Se establece en "/" para migrar todo o en algo similar a "/carpeta/subcarpeta" para una migración parcial. Se copiará todo el contenido de esta carpeta OPCIONAL, el valor predeterminado es "/".
-v ts="DIRECCIÓN_URL_DESTINO" Dirección URL del servidor de RS de destino
-v tu="dominio\nombreDeUsuario" -v tp="contraseña" Credenciales del servidor de destino. OPCIONAL, se usan las credenciales predeterminadas si no se especifica. Nota: el usuario se mostrará como "creador" de programaciones compartidas y como la cuenta "modificado por" para los elementos de informe en el servidor de destino.
-v tst="SITIO" OPCIONAL. Este parámetro solo se usa para los servidores de informes en modo de SharePoint.
-v tf ="CARPETADEDESTINO" Se establece en "/" para migrar en el nivel raíz. Se establece en "/carpeta/subcarpeta" para copiar en una carpeta que ya existe. Se copiará todo el contenido de "CARPETADEORIGEN" en "CARPETADEDESTINO". OPCIONAL, el valor predeterminado es "/".
-v security= "True/False" Si se establece en "False", los elementos de catálogo de destino heredarán la configuración de seguridad según la configuración del sistema de destino. Es el valor recomendado para las migraciones entre diferentes tipos de servidor de informes, por ejemplo del modo nativo al modo de SharePoint. Si se establece en "True", el script intenta migrar la configuración de seguridad. OPCIONAL, el valor predeterminado es "False".

Más ejemplos

Servidor de informes en modo nativo a servidor de informes en modo nativo

En el ejemplo siguiente se migra contenido del Sourceserver en modo nativo a Targetserveren modo nativo.

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"  

El ejemplo siguiente agrega el modificador de seguridad:

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 a modo de SharePoint: sitio raíz

En el ejemplo siguiente se migra contenido de un SourceServer en modo nativo al "sitio raíz" de un TargetServeren modo de SharePoint. Las carpetas "Reports" y "Data Sources" del servidor en modo nativo se migran como bibliotecas nuevas de la implementación de 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 al modo de SharePoint :colección de sitios "bi"

En el ejemplo siguiente se migra contenido de un servidor en modo nativo a un servidor de SharePoint que contiene una colección de sitios de "sites/bi" y una biblioteca de documentos compartida. El script crea carpetas en la biblioteca de documentos de destino. Por ejemplo, el script creará las carpetas "Reports" y "Data Sources" en la 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 de SharePoint al modo de SharePoint :colección de sitios "bi"

En el siguiente ejemplo se migra contenido:

  • De un servidor de SharePoint SourceServer que contiene una colección de sitios de "sites/bi" y una biblioteca de documentos compartida.

  • A un servidor de SharePoint TargetServer que contiene una colección de sitios de "sites/bi" y una biblioteca de documentos compartida.

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 a modo nativo: máquina virtual de Azure

En el siguiente ejemplo se migra contenido:

  • De un servidor de informes en modo nativo SourceServer.

  • A un servidor de informes en modo nativo TargetServer que se ejecuta en una máquina virtual de Azure. TargetServer no está unido al dominio de SourceServer y User2 es un administrador en la máquina virtual de 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"  

Sugerencia

Para información sobre cómo usar Windows PowerShell para crear servidores de informes de Reporting Services en máquinas virtuales de Azure, consulte Uso de PowerShell para crear una máquina virtual de Azure con un servidor de informes en modo nativo.

Modo de SharePoint : colección de sitios "bi" en un servidor en modo nativo en la máquina virtual de Azure

En el siguiente ejemplo se migra contenido:

  • De un servidor de informes en modo de SharePoint SourceServer que contiene una colección de sitios de "sites/bi" y una biblioteca de documentos compartida.

  • A un servidor de informes en modo nativo TargetServer que se ejecuta en una máquina virtual de Azure. TargetServer no está unido al dominio de SourceServer y User2 es un administrador en la máquina virtual de 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"  

Comprobación

En esta sección se resumen algunos pasos que se deben realizar en el servidor de destino para comprobar que el contenido y las directivas se han migrado correctamente.

Programaciones

Para comprobar las programaciones en el servidor de destino:

Modo nativo

  1. Busque el Administrador de informes en el servidor de destino.

  2. Haga clic en Configuración del sitio en el menú superior.

  3. Haga clic en Programaciones en el panel izquierdo.

Modo de SharePoint:

  1. Vaya a Configuración del sitio.

  2. En el grupo Reporting Services , haga clic en Administrar programaciones compartidas.

Roles y grupos

Modo nativo

  1. Abra SQL Server Management Studio y conéctese a su servidor de informes en modo nativo.

  2. En el Explorador de objetos , haga clic en Seguridad.

  3. Haga clic en Roles.

Solución de problemas

Use la marca de seguimiento -t para recibir más información. Por ejemplo, si ejecuta el script y ve un mensaje similar al siguiente

  • No se pudo conectar al servidor: http://< servername>/ReportServer/ReportService2010.asmx

Vuelva a ejecutar el script con la marca -t para ver un mensaje similar al siguiente:

  • System.Exception: No se pudo conectar al servidor: http:// servername>/ReportServer/ReportService2010.asmx ---> System.Net.WebException: Error en la solicitud con el estado HTTP 401: No autorizado.< en System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse (mensaje de SoapClientMessage, respuesta de WebResponse, responseStream de flujo, asyncCall booleana) en System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke (methodName de cadena, parámetros Object[]) en Microsoft.SqlServer.ReportingServices2010.ReportingService2010.IsSSLRequired() en Microsoft.ReportingServices.ScriptHost.Management2010Endpoint.PingService (dirección URL de cadena, nombre de usuario de cadena, contraseña de cadena, dominio de cadena, tiempo de espera de Int32) en Microsoft.ReportingServices.ScriptHost.ScriptHost.DetermineServerUrlSecurity()---Fin del seguimiento de la pila de la excepción interna---

Consulte también

Utilidad RS.exe (SSRS)
Comparación de roles y tareas en Reporting Services con grupos y permisos de SharePoint