Compartir a través de


Script de ejemplo de Servicios de Generación de Informes rs.exe para migrar contenido entre servidores de informes

En este tema se incluye y se describe un script RSS de Reporting Services de ejemplo que copia los elementos de contenido y la configuración de un servidor de informes de 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 del sitio de CodePlex Reporting Services RS.exe script migra el contenido a una carpeta local. Consulte la sección Uso del script en este tema para obtener más información.

Escenarios compatibles

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 del servidor Modo del servidor de informes
Servidor A Nativo
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 escribirá sobre los elementos de contenido existentes con el mismo nombre. Si el script detecta elementos con el mismo nombre en el servidor de destino que se encuentra 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" en modo Nativo se basa en inicios de sesión individuales; por lo tanto, el servicio de scripting no tiene acceso al contenido en carpetas "Mis Informes" para usuarios distintos del especificado por el parámetro -u utilizado para ejecutar el script RSS. Además, "Mis informes" no es una característica del modo de SharePoint de Reporting Services 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 desee 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 2-7 para cada usuario.

9) Ejecute el script.
Historia No No
Configuración del historial La configuración del historial se migra, pero los detalles del historial NO se migran.
Horarios Para migrar programaciones, es necesario que el Agente SQL Server se ejecute 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 personalizados entre servidores. El comportamiento predeterminado es que los elementos se copiarán en el servidor de destino con la marca "heredar permisos del padre" configurada 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 tienen el mismo modo de servidor de informes, por ejemplo, al cambiar del modo nativo al modo de SharePoint, y utiliza la opción SECURITY, el script intentará asignar roles y grupos predeterminados en función de la comparación descrita en el siguiente tema: Comparar roles y tareas de Reporting Services con grupos y permisos de SharePoint. Los roles y grupos personalizados no se copian en el servidor de destino.

Cuando el script se copia entre servidores que son el mismo modo y se usa el modificador SECURITY, el script creará nuevos roles (modo nativo) o grupos (modo de SharePoint) en el servidor de destino.

Si ya existe un rol en el servidor de destino, el script creará un mensaje "Error" similar al siguiente y continuará migrando otros elementos. Una vez completado el script, compruebe que los roles del servidor de destino están configurados para satisfacer 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 asignaciones de roles en el servidor de destino, el script no puede aplicar asignaciones de roles, incluso si se usa el modificador SECURITY.
Origen de datos compartido El script no sobrescribirá los 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á los 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á los 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 el ejemplo fuera del script a medida que migra un informe (.rdl) y la configuración relacionada, como las opciones de actualización de caché:

Se encontraron los parámetros de migración del informe TitleOnly.rdl 0.

Migración de suscripciones para el informe TitleOnly.rdl: 1 elementos encontrados.

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

Migración de planes de actualización de caché para el informe TitleOnly.rdl: 1 elementos encontrados.

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 usados 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 de:

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

  • Permisos obligatorios para el modo de SharePoint: ViewListItems

Elemento o recurso Fuente Objetivo
Artículos de catálogo ListChildren

GetProperties

GetItemDataSources

GetItemReferences

GetDataSourceContents

GetItemLink
CreateCatalogItem

SetItemDataSources

GetItemReferences

CreateDataSource

CreateLinkedItem

CreateFolder
Rol 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 Comparar 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 desea modificar los parámetros. La configuración dependiente no aparece en el paso uno. Por ejemplo, las opciones de caché de un informe no aparecen en la lista, pero el propio informe es .

    Sugerencia

    Si solo desea auditar un solo servidor, use el mismo servidor para el origen y el destino y cancele 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 el modo nativo, una dirección URL del servidor de informes tiene el siguiente aspecto:

    • https://servername/reportserver

    En el modo de SharePoint, la dirección URL tiene el siguiente aspecto:

    • 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 resulta ú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 introducir, por ejemplo, en los orígenes de datos con credenciales almacenadas.

Descripción de parámetros

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. Todo lo que se encuentra dentro de esta carpeta se copiará 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 aparecerá como el "creador" de las programaciones compartidas y la cuenta "modificada por" en relación con 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 al nivel raíz. Establezca en "/carpeta/subcarpeta" para copiar en una que ya existe. Todo lo que se encuentra en "SOURCEFOLDER" se copiará en "TARGETFOLDER". OPCIONAL, el valor predeterminado es "/".
-v security= "Verdadero/Falso" Si se establece en "False", los elementos del catálogo de destino heredarán la configuración de seguridad según la configuración del sistema de destino. Esta es la configuración recomendada para las migraciones entre diferentes tipos de servidor de informes, por ejemplo, el 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"  

De Modo Nativo a Modo 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 "Informes" y "Orígenes de datos" en el servidor en modo nativo se migraron como nuevas bibliotecas en la implementación de SharePoint.

ssrs_rss_migrate_root_site 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"  

De modo nativo a modo 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á una carpeta "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 al modo nativo: máquina virtual de Azure

En el siguiente ejemplo se migra contenido:

  • Desde un servidor de informes en modo nativo SourceServer.

  • Para 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 de 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 obtener 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 SharePoint: colección de sitios de inteligencia empresarial (BI) en un servidor en modo nativo en una máquina virtual de Azure

En el siguiente ejemplo se migra contenido:

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

  • Para 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 de 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.

Horarios

Para comprobar las programaciones en el servidor de destino:

Modo nativo

  1. Vaya a Report Manager 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.< at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) en 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) en Microsoft.ReportingServices.ScriptHost.ScriptHost.DetermineServerUrlSecurity() --- Fin del seguimiento de la pila de excepciones interna ---

Véase también

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