Script para tareas administrativas y de implementación

Reporting Services admite el uso de scripts para automatizar las tareas rutinarias de instalación, implementación y administración. La implementación de un servidor de informes es un proceso de varios pasos Debes usar varias herramientas y procesos de configuración; no existe ningún programa o método que automatice todas las tareas.

Tampoco se recomienda automatizar siempre todos los pasos. A veces, la manera más sencilla y eficaz de realizar un paso es hacerlo manualmente o a través de una herramienta gráfica. Por ejemplo, si quieres implementar muchos informes y modelos, es mejor copiar las bases de datos del servidor de informes que escribir código para volver a crear el entorno del servidor de informes.

Algunos pasos requieren código personalizado. Por ejemplo, la configuración de las direcciones URL para el servicio web y el Administrador de informes se puede automatizar, pero solo si se escribe código personalizado que realice llamadas al proveedor WMI (Instrumental de administración de Windows) del servidor de informes. Si no se desea escribir código, deberá usarse la herramienta de configuración de Reporting Services para realizar este paso.

Para ejecutar el script que configura un servidor de informes, debes ser un administrador local en el ordenador que estás configurando. Para obtener más información, consulta Configurar un servidor de informes para la administración remota.

En este artículo se describen los enfoques recomendados para automatizar algunos pasos específicos. Se mencionan varios programas e interfaces de programación; podrás ver descripciones de cada uno de ellos más adelante en este artículo.

Tareas de implementación y procedimientos para automatizarlas

En la tabla siguiente se resumen todas las tareas de instalación y configuración que son necesarias para implementar un servidor de informes. Quizás le sea de utilidad para relacionar una tarea específica con un método que le permita automatizarla o realizarla de manera desatendida.

Tarea Enfoque
Instalar Reporting Services. Puede ejecutar el programa de instalación desde la línea de comandos para realizar una instalación desatendida.

Puede usar el programa de instalación para instalar y configurar un servidor de informes, pero solo si especifica la opción de configuración predeterminada y el sistema cumple todos los requisitos de este tipo de instalación. Si no puede instalar la configuración predeterminada, deberá realizar una instalación de solo archivos.
Configurar la cuenta de servicio. La cuenta de servicio se configura inicialmente a través de la instalación. Para automatizar los cambios a la cuenta de servicio como una tarea posterior a la instalación, debe escribir código personalizado que realice llamadas al proveedor WMI del servidor de informes. No hay ninguna utilidad de símbolo del sistema o plantillas de script para configurar la cuenta de servicio mediante programación.

Si los requisitos de codificación evitan que automatice este paso, puede configurar con facilidad la cuenta manualmente ejecutando la herramienta de configuración de Reporting Services . Para más información, consulta Configurar una cuenta de servicio (Administrador de configuración del servidor de informes).
Configurar el servicio web del servidor de informes y las direcciones URL del Administrador de informes. Debe escribir código personalizado que realice llamadas al proveedor WMI del servidor de informes. No hay ninguna utilidad de línea de comandos o plantillas de script para configurar las direcciones URL.

Si desea evitar escribir código, puede configurar las direcciones URL manualmente ejecutando la herramienta de configuración de Reporting Services . Para más información, vea Configurar una dirección URL (Administrador de configuración del servidor de informes).
Crear la base de datos del servidor de informes. Debe escribir código personalizado que realice llamadas al proveedor WMI del servidor de informes. No hay ninguna utilidad de símbolo del sistema o plantillas de script para crear las bases de datos del servidor de informes y RSExecRole.

Si desea evitar escribir código, puede crear la base de datos manualmente ejecutando la herramienta de configuración de Reporting Services . Para más información, consulta Crear una base de datos del servidor de informes en modo nativo (Administrador de configuración del servidor de informes).
Configurar la conexión a la base de datos del servidor de informes. Si vas a cambiar la cadena de conexión, la cuenta o la contraseña o el tipo de autenticación, ejecuta la utilidad rsconfig para configurar la conexión. Para más información, consulta Configurar una conexión a la base de datos del servidor de informes (Administrador de configuración del servidor de informes) y rsconfig (utilidad) (SSRS).

No puede utilizar rsconfig.exe para crear o actualizar la base de datos. La base de datos y RSExecRole deben existir ya.
Configurar una implementación escalada Para automatizar una implementación escalada, elija uno de los métodos siguientes:

- Ejecute la utilidad rskeymgmt.exe para unir instancias del servidor de informes a una instalación existente. Para más información, consulta Agregar y quitar claves de cifrado para implementaciones escaladas (Administrador de configuración del servidor de informes).
- Escriba código personalizado que se ejecute en el proveedor WMI del servidor de informes.
Realizar una copia de seguridad de las claves de cifrado Para automatizar el procedimiento de copia de seguridad de las claves de cifrado, elija uno de los métodos siguientes:

- Ejecute la utilidad rskeymgmt.exe para realizar la copia de seguridad de las claves. Para obtener más información, consulta Hacer copia de seguridad y restaurar claves de cifrado de Reporting Services.
- Escriba código personalizado que se ejecute en el proveedor WMI del servidor de informes.
Configurar el correo electrónico del servidor de informes Escriba código personalizado que se ejecute en el proveedor WMI de Reporting Services . El proveedor admite un subconjunto de los valores de configuración de correo electrónico.

Aunque el archivo RSReportServer.config incluye toda la configuración, no utilice el archivo de forma automatizada. En concreto, no utilice un archivo por lotes para copiar el archivo en otro servidor de informes. Cada archivo de configuración incluye valores específicos de la instancia actual. Dichos valores no son válidos en otras instancias del servidor de informes.

Para más información sobre la configuración, consulta Configuración de correo electrónico: modo nativo de Reporting Services (Administrador de configuración).
Configurar la cuenta de ejecución desatendida Para automatizar la configuración de la cuenta de procesamiento desatendido, elija uno de los métodos siguientes:

- Ejecute la utilidad rsconfig.exe para configurar la cuenta. Para más información, consulta Configurar la cuenta de ejecución desatendida (Administrador de configuración del servidor de informes).
- Escriba código personalizado que realice llamadas al proveedor WMI del servidor de informes.
Implementar contenido existente en otro servidor de informes, incluyendo la jerarquía de carpetas, las asignaciones de roles, los informes, las suscripciones, las programaciones, los orígenes de datos y los recursos. La mejor forma de volver a crear un entorno de servidor de informes existente es copiar la base de datos del servidor de informes en una nueva instancia del servidor de informes.

Un método alternativo es escribir código personalizado que vuelva a crear el contenido del servidor de informes existente mediante programación. Pero las suscripciones, las instantáneas del informe y el historial del informe no se pueden volver a crear mediante programación.

Algunas implementaciones pueden beneficiarse mediante el uso de ambas técnicas juntas. Por ejemplo, restaura una base de datos del servidor de informes y, después, ejecuta código personalizado que modifique la base de datos del servidor de informes para una instalación específica.

Para ver un ejemplo detallado, consulta Script rs.exe de ejemplo de Reporting Services para copiar contenido entre servidores de informes.

Para más información sobre cómo modificar la ubicación de una base de datos del servidor de informes, consulta Mover las bases de datos del servidor de informes a otro equipo (Modo nativo de SSRS). Para obtener más información acerca de la creación del entorno del servidor de informes mediante programación, consulta la sección "Usar scripts para migrar contenido y carpetas del servidor de informes" en este artículo.

Herramientas y tecnologías para automatizar la implementación del servidor

En la lista siguiente se resumen los programas y las interfaces que se pueden utilizar para automatizar las tareas de implementación y mantenimiento:

  • El programa de instalación se puede ejecutar en modo desatendido para instalar y, en algunos casos, configurar los componentes del servidor de informes. Debe usar la opción de instalación de solo archivos para que el programa de instalación configure una instancia de servidor de informes.

  • Se pueden usar el proveedor WMI de Reporting Services y las utilidades de línea de comandos de Reporting Services para la configuración local y remota del servidor.

    El proveedor WMI de Reporting Services expone clases, propiedades y métodos que permiten configurar todos los aspectos de una instalación de Reporting Services. Estos aspectos incluyen la especificación de la cuenta de servicio y la configuración de direcciones URL. También pueden incluir la creación y configuración de la base de datos del servidor de informes o la configuración de un servidor de informes para la entrega por correo electrónico. Para utilizar el proveedor WMI, es necesario escribir script o código personalizados. Para obtener más información, vea Obtener acceso al proveedor WMI de Reporting Services.

    Las utilidades de la línea de comandos (rsconfig.exe y rskeymgmt.exe) son una alternativa a escribir código. Se pueden escribir archivos por lotes que ejecuten las utilidades. Estas utilidades permiten automatizar algunas tareas de configuración, pero no todas.

  • La herramienta de host del script del servidor de informes (rs.exe) puede ejecutar código personalizado de Microsoft Visual Basic que se haya escrito para volver a crear o mover el contenido de un servidor de informes a otro. Con este método, se escribe script en Visual Basic, se guarda como un archivo .rss y, después, se usa rs.exe para ejecutarlo en el servidor de informes de destino. El script escrito puede llamar a la interfaz SOAP para el servicio web del servidor de informes. Los scripts de implementación se escriben siguiendo este método porque es posible volver a crear un espacio de nombres de carpetas del servidor de informes y su contenido, así como volver a crear la seguridad basada en roles.

  • En la versión SQL Server 2012 se introdujeron los cmdlets de PowerShell para el modo integrado de SharePoint. Puede utilizar PowerShell para configurar y administrar la integración de SharePoint. Para obtener más información, consulta Cmdlets de PowerShell para el modo de SharePoint de Reporting Services.

Usar scripts para migrar contenido y carpetas del servidor de informes

Se pueden escribir scripts que dupliquen un entorno de servidor de informes en otra instancia de servidor de informes. Los scripts de implementación se escriben en Visual Basic y, después, se procesan mediante la utilidad del host de script del servidor de informes.

Para ver un ejemplo detallado, consulta Script rs.exe de ejemplo de Reporting Services para copiar contenido entre servidores de informes.

Utilice scripts para copiar carpetas, orígenes de datos compartidos, recursos, informes, asignaciones de roles y parámetros de un servidor a otro. Puede escribir un script para una instancia de servidor de informes y, a continuación, ejecutarlo en otro servidor para volver a crear el espacio de nombres del servidor de informes. Si existen varios servidores de informes en la implementación de Reporting Services , puede ejecutar el script en cada servidor individualmente para configurar todos los servidores de la misma manera.

En la siguiente lista, se describen los pasos necesarios para migrar informes de un servidor a otro.

  1. Defina la variable de script con la dirección URL del servidor de informes de origen.

  2. Use los métodos GetItemDefinition y GetProperties para recuperar la definición de informe y las propiedades del informe.

  3. Establezca la dirección URL para que señale al servidor de destino.

  4. Use el método CreateCatalogItem , pasando las propiedades devueltas desde GetProperties y la definición del informe devuelta por GetItemDefinition.

Combinando métodos de obtención y creación, puede realizar pasos similares que le permitan migrar parámetros, carpetas, orígenes de datos compartidos y recursos. Para más información sobre los métodos disponibles, consulta Referencia técnica (SSRS).

Nota:

Los scripts se ejecutan con las credenciales de Microsoft Windows del usuario que ejecuta el script, salvo que las credenciales se establezcan explícitamente.

Para obtener más información sobre cómo ejecutar y dar formato a un archivo de script, consulta Script con la utilidad rs.exe y el servicio Web.

Usar scripts para establecer propiedades del servidor

Puede escribir scripts que establezcan propiedades del sistema en el servidor de informes. El script de Visual Basic .NET siguiente muestra una manera de establecer las propiedades. Este ejemplo deshabilita el control ActiveX RSClientPrint, aunque es posible sustituir EnableClientPrinting y False por cualquier nombre y valor de propiedad válidos. Para obtener una lista completa de propiedades de servidor, consulta Propiedades del sistema del servidor de informes.

Para utilizar el script, guárdalo en un archivo con la extensión .rss y, después, utiliza la utilidad de símbolo del sistema rs.exe a fin de ejecutar el archivo en el servidor de informes. El script no está compilado, por lo que no es necesario tener instalado Visual Basic. En este ejemplo se da por supuesto que tiene permisos en el equipo local que hospeda el servidor de informes. Si no has iniciado una sesión con una cuenta con permisos, debes especificar la información de la cuenta mediante otros argumentos de la línea de comandos. Para más información, consulta Utilidad RS.exe (SSRS).

Public Sub Main()  
        Dim props(0) As [Property]  
        Dim setProp As New [Property]  
        setProp.Name = "EnableClientPrinting"  
        setProp.Value = "False"   
        props(0) = setProp  
        Try  
            rs.SetSystemProperties(props)  
        Catch ex As System.Web.Services.Protocols.SoapException  
            Console.Write(ex.Detail.InnerXml)  
        Catch e as Exception  
            Console.Write(e.Message)  
        End Try  
End Sub  

Método GenerateDatabaseCreationScript (MSReportServer_ConfigurationSetting de WMI)
Método GenerateDatabaseRightsScript (WMI MSReportServer_ConfigurationSetting)
Método GenerateDatabaseUpgradeScript (WMI MSReportServer_ConfigurationSetting)
Instalación de SQL Server desde el símbolo del sistema
Install Reporting Services native mode report server
Servidor de informes de Reporting Services (modo nativo)
Utilidades del símbolo del sistema del servidor de informes (SSRS)
Compatibilidad del explorador con Reporting Services
Herramientas de Reporting Services

¿Tiene alguna pregunta más? Puede plantear sus dudas en el foro de Reporting Services.