Registro de ejecución del servidor de informes y la vista ExecutionLog3

El registro de la ejecución del servidor de informes de Reporting Services, contiene información sobre los informes que se ejecutan en el servidor o en varios servidores. Estos servidores están en una implementación de escalabilidad horizontal en modo nativo o en una granja de Servidores de SharePoint. Puede usar el registro de ejecución de informes para averiguar lo siguiente:

  • Frecuencia con la que se solicita un informe
  • ¿Qué formatos de salida se usan más?
  • Cuántos milisegundos de tiempo de procesamiento se invierten en cada fase de procesamiento

El registro contiene información sobre el tiempo de ejecución de la consulta de conjunto de datos de un informe y el tiempo empleado en el procesamiento de los datos. Si es administrador del servidor de informes, puede revisar la información de registro e identificar las tareas de larga duración. También puede realizar sugerencias a los autores de informes en las áreas del conjunto de datos o el informe de procesamiento que podrían mejorar.

Los servidores de informes configurados para el modo de SharePoint, también pueden usar los registros de ULS de SharePoint. Para más información, consulte Activación de eventos de Reporting Services para el registro de seguimiento de SharePoint (ULS).

Ver la información del registro

La ejecución del servidor de informes registra datos sobre la ejecución de informes en una tabla interna de la base de datos. La información de la tabla está disponible en las vistas de SQL Server.

El registro de la ejecución de informes se almacena en la base de datos del servidor de informes que se denomina ReportServerde forma predeterminada. Las vistas de SQL proporcionan la información del registro de la ejecución. Las vistas "2" y "3" se agregaron en versiones más recientes y contienen campos nuevos o campos con nombres más descriptivos que las versiones anteriores. Permanece en el producto las vistas antiguas para que no se vean afectadas las aplicaciones personalizadas que dependen de ellas. Si no tiene una dependencia en una vista anterior, por ejemplo ExecutionLog, se recomienda utilizar la vista más reciente, ExecutionLog3.

En este artículo:

Configuración para un servidor de informes en modo de SharePoint

Puede activar o desactivar la ejecución de informes en la configuración del sistema de una aplicación de servicios de Reporting Services.

De forma predeterminada, las entradas de registro se mantienen 60 días. Las entradas que superan esta fecha se quitan a las 2:00 a. m. todos los días. En instalaciones antiguas, solo habrá 60 días de información disponibles en cualquier momento.

No puede establecer límites en el número de filas o en el tipo de entradas que se registran.

Habilitar el registro de la ejecución

  1. Desde la Administración central de SharePoint, seleccione Administrar aplicaciones de servicio en el grupo Administración de aplicaciones.

  2. Elija el nombre de la aplicación de servicio de Reporting Services que desee configurar.

  3. Seleccione Configuración del sistema.

  4. Seleccione Habilitar el registro de la ejecución en la sección Registro .

  5. Seleccione Aceptar.

Habilitación del registro detallado

Debe habilitar el registro como se describe en los pasos anteriores y, a continuación, realizar los pasos siguientes:

  1. En la página Configuración del sistema de la aplicación de servicios de Reporting Services, busque la sección Definido por el usuario.

  2. Cambie ExecutionLogLevel a detallado. Este campo es un campo de entrada de texto y los dos valores posibles son detallado y normal.

Configuración de un servidor de informes en modo nativo

Puede activar o desactivar la ejecución de informes en la página propiedades del servidor en SQL Server Management Studio. EnableExecutionLogging es una propiedad avanzada.

De forma predeterminada, las entradas de registro se mantienen 60 días. Las entradas que superan esta fecha se quitan a las 2:00 a. m. todos los días. En las instalaciones antiguas, solo habrá 60 días de información disponibles en cualquier momento.

No puede establecer límites en el número de filas o en el tipo de entradas que se registran.

Habilitar el registro de la ejecución

  1. Inicie SQL Server Management Studio con privilegios de administrador. Por ejemplo, haga clic con el botón derecho en el icono de Management Studio y seleccione Ejecutar como administrador.

  2. Conéctese al servidor de informes que desee.

  3. Haga clic con el botón derecho en el nombre del servidor y seleccione Propiedades. Si la opción Propiedades está deshabilitada, compruebe que ha ejecutado SQL Server Management Studio con privilegios de administrador.

  4. Seleccione la página Registro.

  5. Seleccione Habilitar el registro de la ejecución de informes.

Habilitación del registro detallado

Debe habilitar el registro como se describe en los pasos anteriores y, a continuación, realizar los pasos siguientes:

  1. En el cuadro de diálogo Propiedades de servidor, seleccione la página Avanzadas.

  2. En la sección Definido por el usuario , cambie ExecutionLogLevel a detallado. Este campo es un campo de entrada de texto y los dos valores posibles son detallado y normal.

Campos de registro (ExecutionLog3)

En esta vista, se agregaron nodos de diagnóstico adicionales en la columna AdditionalInfo basada en XML. La columna AdditionalInfo contiene una estructura XML de 1 a muchos campos adicionales de información. La siguiente es una instrucción Transact-SQL de ejemplo para recuperar filas de la vista ExecutionLog3. En el ejemplo se supone que la base de datos del servidor de informes se denomina ReportServer:

Use ReportServer  
select * from ExecutionLog3 order by TimeStart DESC  

La siguiente tabla describe los datos que se capturan en el registro de ejecución de informes.

Columna Descripción
InstanceName Nombre de la instancia de servidor de informes que procesó la solicitud. Si el entorno tiene más de un servidor de informes, puede analizar la distribución de InstanceName para supervisar y determinar si el equilibrador de carga de red distribuye las solicitudes entre los servidores de informes como se esperaba.
ItemPath Ruta de acceso donde se almacena un informe o un elemento de informe.
UserName Identificador del usuario.
ExecutionID Identificador interno asociado a una solicitud. Las solicitudes en las mismas sesiones de usuario comparten el mismo identificador de ejecución.
RequestType Valores posibles:

Interactive

Subscription



El análisis de los datos de registro filtrados por RequestType=Subscription y ordenados por TimeStart pueden revelar los periodos de mucho uso de suscripciones y puede indicar la conveniencia de modificar algunas de las suscripciones de informe a un momento diferente.
Formato Formato de representación.
Parámetros Valores de parámetros utilizados para la ejecución de un informe.
ItemAction Valores posibles:

Render

Sort

BookMarkNavigation

DocumentNavigation

GetDocumentMap

Findstring

Execute

RenderEdit.
TimeStart Horas de inicio y detención que indican la duración del procesamiento de un informe.
TimeEnd
TimeDataRetrieval Número de milisegundos empleados en recuperar los datos.
TimeProcessing Número de milisegundos empleados en procesar el informe.
TimeRendering Número de milisegundos empleados en representar el informe.
Source Origen de la ejecución del informe. Valores posibles:

En vivo

Caché: hace referencia a una ejecución almacenada en caché, por ejemplo, las consultas de conjunto de datos no se ejecutan de forma dinámica.

Instantánea

Historial

AdHoc: indica una obtención de detalles basada en un modelo de informe generado dinámicamente. También puede hacer referencia a un informe de Generador de informes que está en vista previa en un cliente que usa el servidor de informes para procesar y representar.

Sesión: hace referencia a una solicitud de seguimiento en una sesión que ya se ha establecido. Por ejemplo, la solicitud inicial es ver la página 1 y la solicitud de seguimiento es exportar a Excel con el estado actual de la sesión.

RDCE: hace referencia a una extensión de personalización de definición de informe. Las extensiones personalizadas de RDCE pueden personalizar dinámicamente una definición de informe antes de que se pase al motor de procesamiento en el momento de la ejecución de informes.
Estado Estado (rsSuccess o un código de error; si se producen varios errores, solo se registra el primero).
ByteCount Tamaño de los informes representados en bytes
RowCount Número de filas devueltas de consultas.
AdditionalInfo Un contenedor de propiedades XML que incluye información adicional sobre la ejecución. El contenido puede ser diferente para cada fila.

El campo AdditionalInfo

El campo AdditionalInfo es un contenedor de propiedades o estructura XML que incluye información adicional sobre la ejecución. El contenido puede ser diferente para cada fila del registro.

Estos son algunos ejemplos de los contenidos del campo AddtionalInfo para el registro estándar y el registro detallado:

Ejemplo de registro estándar de AddtionalInfo

<AdditionalInfo>  
  <ProcessingEngine>2</ProcessingEngine>  
  <ScalabilityTime>  
    <Pagination>0</Pagination>  
    <Processing>0</Processing>  
  </ScalabilityTime>  
  <EstimatedMemoryUsageKB>  
    <Pagination>0</Pagination>  
    <Processing>6</Processing>  
  </EstimatedMemoryUsageKB>  
  <DataExtension>  
    <SQL>1</SQL>  
  </DataExtension>  
  <Connections>  
    <Connection>  
      <ConnectionOpenTime>147</ConnectionOpenTime>  
      <DataSets>  
        <DataSet>  
          <Name>DataSet1</Name>  
          <RowsRead>16</RowsRead>  
          <TotalTimeDataRetrieval>642</TotalTimeDataRetrieval>  
          <ExecuteReaderTime>63</ExecuteReaderTime>  
        </DataSet>  
        <DataSet>  
          <Name>DataSet2</Name>  
          <RowsRead>3</RowsRead>  
          <TotalTimeDataRetrieval>157</TotalTimeDataRetrieval>  
          <ExecuteReaderTime>60</ExecuteReaderTime>  
        </DataSet>  
      </DataSets>  
    </Connection>  
  </Connections>  
</AdditionalInfo>  
  

Ejemplo de registro detallado de AdditionalInfo

<AdditionalInfo>  
  <ProcessingEngine>2</ProcessingEngine>  
  <ScalabilityTime>  
    <Pagination>0</Pagination>  
    <Processing>0</Processing>  
  </ScalabilityTime>  
  <EstimatedMemoryUsageKB>  
    <Pagination>0</Pagination>  
    <Processing>6</Processing>  
  </EstimatedMemoryUsageKB>  
  <DataExtension>  
    <SQL>1</SQL>  
  </DataExtension>  
  <Connections>  
    <Connection>  
      <ConnectionOpenTime>127</ConnectionOpenTime>  
      <DataSource>  
        <Name>DataSource1</Name>  
        <DataExtension>SQL</DataExtension>  
      </DataSource>  
      <DataSets>  
        <DataSet>  
          <Name>DataSet1</Name>  
          <RowsRead>16</RowsRead>  
          <TotalTimeDataRetrieval>655</TotalTimeDataRetrieval>  
          <QueryPrepareAndExecutionTime>94</QueryPrepareAndExecutionTime>  
          <ExecuteReaderTime>33</ExecuteReaderTime>  
          <DataReaderMappingTime>30</DataReaderMappingTime>  
          <DisposeDataReaderTime>1</DisposeDataReaderTime>  
        </DataSet>  
        <DataSet>  
          <Name>DataSet2</Name>  
          <RowsRead>3</RowsRead>  
          <TotalTimeDataRetrieval>16</TotalTimeDataRetrieval>  
          <QueryPrepareAndExecutionTime>2</QueryPrepareAndExecutionTime>  
          <ExecuteReaderTime>1</ExecuteReaderTime>  
          <DataReaderMappingTime>0</DataReaderMappingTime>  
          <DisposeDataReaderTime>0</DisposeDataReaderTime>  
        </DataSet>  
      </DataSets>  
    </Connection>  
  </Connections>  
</AdditionalInfo>  
  

A continuación se describen algunos de los valores que aparecerán en el campo AdditionalInfo:

  • ProcessingEngine

    1=SQL Server 2005, 2=The new On-demand Processing Engine. Si una mayoría de los informes sigue mostrando el valor 1, puede investigar cómo reajustarlos para que usen el motor de procesamiento a petición más reciente y más eficaz.

    <ProcessingEngine>2</ProcessingEngine>

  • ScalabilityTime

    Número de milisegundos empleados en realizar operaciones relacionadas con la escala en el motor de procesamiento. Un valor de 0 indica que no se empleó ningún tiempo adicional en las operaciones de escala y 0 también indica que la solicitud no estaba bajo presión de memoria.

    <ScalabilityTime>  
        <Processing>0</Processing>  
    </ScalabilityTime>  
    
  • EstimatedMemoryUsageKB

    Una estimación de la cantidad máxima de memoria, en kilobytes, que utiliza cada componente durante una solicitud determinada.

    <EstimatedMemoryUsageKB>  
        <Processing>38</Processing>  
    </EstimatedMemoryUsageKB>  
    
  • DataExtension

    Los tipos de extensiones de datos u orígenes de datos usados en el informe. El número es un recuento del número de repeticiones del origen de datos concreto.

    <DataExtension>  
       <DAX>2</DAX>  
    </DataExtension>  
    
  • ExternalImages

    El valor se expresa en milisegundos. Estos datos se pueden utilizar para diagnosticar problemas de rendimiento. El tiempo necesario para recuperar imágenes desde un servidor web externo puede ralentizar la ejecución de informes global.

    <ExternalImages>  
        <Count>3</Count>  
        <ByteCount>9268</ByteCount>  
        <ResourceFetchTime>9</ResourceFetchTime>  
    </ExternalImages>  
    
  • Conexiones

    Estructura de varios niveles

    <Connections>  
        <Connection>  
          <ConnectionOpenTime>127</ConnectionOpenTime>  
          <DataSource>  
            <Name>DataSource1</Name>  
            <DataExtension>SQL</DataExtension>  
          </DataSource>  
          <DataSets>  
            <DataSet>  
              <Name>DataSet1</Name>  
              <RowsRead>16</RowsRead>  
              <TotalTimeDataRetrieval>655</TotalTimeDataRetrieval>  
              <QueryPrepareAndExecutionTime>94</QueryPrepareAndExecutionTime>  
              <ExecuteReaderTime>33</ExecuteReaderTime>  
              <DataReaderMappingTime>30</DataReaderMappingTime>  
              <DisposeDataReaderTime>1</DisposeDataReaderTime>  
            </DataSet>  
            <DataSet>  
              <Name>DataSet2</Name>  
              <RowsRead>3</RowsRead>  
              <TotalTimeDataRetrieval>16</TotalTimeDataRetrieval>  
              <QueryPrepareAndExecutionTime>2</QueryPrepareAndExecutionTime>  
              <ExecuteReaderTime>1</ExecuteReaderTime>  
              <DataReaderMappingTime>0</DataReaderMappingTime>  
              <DisposeDataReaderTime>0</DisposeDataReaderTime>  
            </DataSet>  
          </DataSets>  
        </Connection>  
    </Connections>  
    
    

Campos de registro (ExecutionLog2)

Esta vista ha agregado algunos campos nuevos y ha cambiado el nombre de otros. La siguiente es una instrucción Transact-SQL de ejemplo para recuperar filas de la vista ExecutionLog2. En el ejemplo se supone que la base de datos del servidor de informes se denomina ReportServer:

Use ReportServer  
select * from ExecutionLog2 order by TimeStart DESC  

La siguiente tabla describe los datos que se capturan en el registro de ejecución de informes.

Columna Descripción
InstanceName Nombre de la instancia de servidor de informes que procesó la solicitud.
ReportPath La estructura de ruta de acceso al informe. Un informe guardado en la carpeta raíz como test tiene un ReportPath de /test.

Un informe denominado test guardado en la carpeta Samples tendrá un ReportPath de /Samples/test/.
UserName Identificador del usuario.
ExecutionID
RequestType El tipo de solicitud es user o system.
Formato Formato de representación.
Parámetros Valores de parámetros utilizados para la ejecución de un informe.
ReportAction Valores posibles: Render, Sort, BookMarkNavigation, DocumentNavigation, GetDocumentMap, Findstring.
TimeStart Hora de inicio que indica la duración de un proceso de informe.
TimeEnd Hora de finalización que indica la duración de un proceso de informe.
TimeDataRetrieval Número de milisegundos empleados en recuperar los datos.
TimeProcessing Número de milisegundos empleados en procesar el informe.
TimeRendering Número de milisegundos empleados en representar el informe.
Source Origen de la ejecución del informe. Las opciones son: 1=Live, 2=Cache, 3=Snapshot, y 4=History.
Estado El estado es rsSuccess o un código de error. Si aparecen varios errores, solo se registrará el primero.
ByteCount Tamaño de los informes representados en bytes
RowCount Número de filas devueltas de consultas.
AdditionalInfo Un contenedor de propiedades XML que incluye información adicional sobre la ejecución.

Campos de registro (ExecutionLog)

La siguiente es una instrucción Transact-SQL de ejemplo para recuperar filas de la vista ExecutionLog. En el ejemplo se supone que la base de datos del servidor de informes se denomina ReportServer:

Use ReportServer  
select * from ExecutionLog order by TimeStart DESC  
  

La siguiente tabla describe los datos que se capturan en el registro de ejecución de informes.

Columna Descripción
InstanceName Nombre de la instancia de servidor de informes que procesó la solicitud.
ReportID Identificador del informe.
UserName Identificador del usuario.
RequestType Valores posibles:

True = una solicitud de suscripción

False= una solicitud interactiva
Formato Formato de representación.
Parámetros Valores de parámetros utilizados para la ejecución de un informe.
TimeStart Horas de inicio y detención que indican la duración del procesamiento de un informe.
TimeEnd
TimeDataRetrieval Número de milisegundos dedicados a recuperar los datos, procesar el informe y representarlo.
TimeProcessing
TimeRendering
Source Origen de la ejecución del informe. Valores posibles: (1=Activo, 2=Caché, 3=Instantánea, 4=Historial, 5=Adhoc, 6=Sesión, 7=RDCE).
Estado Los valores posibles son rsSuccess, rsProcessingAborted o un código de error. Si aparecen varios errores, solo se registra el primero.
ByteCount Tamaño de los informes representados en bytes
RowCount Número de filas devueltas de consultas.

Activar eventos de Reporting Services para el registro de seguimiento de SharePoint (ULS)
Archivos de registro y orígenes de Reporting Services
Referencia de errores y eventos (Reporting Services)