Use ExecutionLog y la vista ExecutionLog3 en Reporting Services
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:
- Número de veces que se solicita un informe.
- Qué formatos de salida se usan más.
- El tiempo de procesamiento que se invierte en cada fase de procesamiento en milisegundos.
El registro contiene información sobre el tiempo gastado en la 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 del Servicio de registro unificado (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
El 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.
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 ejecución para un servidor de SharePoint
Desde la Administración central de SharePoint, seleccione Administrar aplicaciones de servicio en el grupo Administración de aplicaciones.
Elija el nombre de la aplicación de servicio de Reporting Services que desee configurar.
Seleccione Configuración del sistema.
Seleccione Habilitar el registro de la ejecución en la sección Registro .
Seleccione Aceptar.
Habilitar el registro detallado para un servidor de SharePoint
Debe habilitar el registro como se describe en los pasos anteriores y, a continuación, realizar los pasos siguientes:
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.
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.
Habilite el registro de ejecución para un servidor en modo nativo
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.
Conéctese al servidor de informes que desee.
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.
Seleccione la página Registro.
Seleccione Habilitar el registro de la ejecución de informes.
Habilite el registro detallado para un servidor en modo nativo
Debe habilitar el registro como se describe en los pasos anteriores y, a continuación, realizar los pasos siguientes:
En el cuadro de diálogo Propiedades de servidor, seleccione la página Avanzadas.
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)
Esta vista agrega 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. El siguiente ejemplo es una instrucción Transact-SQL 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. Extensión de personalización de definición de informe (RDCE): indica 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 AdditionalInfo 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
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.
1=SQL Server 2005, 2=The new On-demand Processing Engine
<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 y0
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 prueba guardado en la carpeta Muestras 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 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. |
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. |