Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 | Sí | Sí | La configuración del historial se migra, pero los detalles del historial NO se migran. |
| Horarios | Sí | Sí | 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 | Sí | Sí | 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 | Sí | Sí | 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 | Sí | Sí | |
| Carpeta | Sí | Sí | 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 | Sí | Sí | 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 | Sí | Sí | |
| Suscripciones | Sí | Sí | |
| Configuración del historial | Sí | Sí | La configuración del historial se migra, pero los detalles del historial NO se migran. |
| opciones de procesamiento | Sí | Sí | |
| opciones de actualización de caché | Sí | Sí | 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é | Sí | Sí | |
| Imágenes | Sí | Sí | |
| Elementos de informe | Sí | Sí |
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
Descargue el archivo de script en una carpeta local, por ejemplo c:\rss\ssrs_migration.rss.
Abra un símbolo del sistema con privilegios administrativos.
Navegue hasta la carpeta que contiene el archivo ssrs_migration.rss.
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: BrowserRole: Content ManagerRole: Model Item BrowserRetrieve 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: BrowserRole: Content ManagerRole: CustomRoleRole: Model Item BrowserRole: My ReportsRole: PublisherRole: Report BuilderRole: System AdministratorRole: System UserRetrieving system policies:Retrieving system policies:System policy: BUILTIN\AdministratorsSystem policy: domain\user1System policy: domain\ueser2Retrieving schedules:Schedule: theMondayScheduleRetrieving catalog items. This may take a while.Folder: /Data SourcesDataSource: /Data Sources/Aworks2012_oltpFolder: /imagesResource: /images/Boba Fett.pngResource: /images/R2-D2.pngFolder: /ReportsReport: /Reports/productsReport: /Reports/testReport: /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/reportserverohttps://servername/sites/site_name/_vti_bin/reportserveren 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. | Sí |
| -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.
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
Vaya a Report Manager en el servidor de destino.
Haga clic en Configuración del sitio en el menú superior.
Haga clic en Programaciones en el panel izquierdo.
Modo de SharePoint:
Vaya a Configuración del sitio.
En el grupo Reporting Services , haga clic en Administrar programaciones compartidas.
Roles y grupos
Modo nativo
Abra SQL Server Management Studio y conéctese a su servidor de informes en modo nativo.
En el Explorador de objetos , haga clic en Seguridad.
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