Tipo de recopilador Actividad de consulta
El tipo de recopilador de Actividad de consultas es un tipo de recopilador personalizado usado por el conjunto de recopilación Estadísticas de consultas, uno de los conjuntos de recopilación de datos del sistema predefinidos.
Este tipo de recopilador se utiliza para recopilar estadísticas de consultas e información de la actividad de consultas junto con el plan de consulta y el texto de las consultas que cumplen los criterios predefinidos. Si crea un conjunto de recopilación propio mediante este tipo de recopilador, recopilará la misma información que el conjunto de recopilación Estadísticas de consultas. Por tanto, se recomienda que utilice el conjunto de recopilación Estadísticas de consultas predefinido.
Arquitectura y procesamiento
El tipo de recopilador de Actividad de consultas está compuesto de los elementos siguientes:
Un esquema de parámetros de entrada (interno)
Un paquete SSIS para recopilar los datos (QueryActivityCollect.dtsx)
Un paquete SSIS para cargar los datos (QueryActivityUpload.dtsx)
Además, este tipo de recopilador utiliza transformaciones o tareas personalizadas para analizar y seleccionar los datos que se almacenarán en el almacén de administración de datos.
El tipo de recopilador de Actividad de consultas realiza las operaciones siguientes:
Recopila ejemplos de dm_exec_requests, dm_exec_sessions y otras vistas de administración dinámica relacionadas seleccionadas. Se implementa como una sola consulta singleton. La recopilación de datos tiene lugar con la frecuencia especificada para el elemento de recopilación.
Recopila instantáneas de la vista de administración dinámica dm_exec_query_stats con una frecuencia igual a la de la carga del conjunto de recopilación. De forma predeterminada, el conjunto de recopilación Estadísticas de consultas sigue una frecuencia de carga de 15 minutos.
Fase de recopilación
En la siguiente tabla se muestra la consulta que se utiliza durante la fase de recopilación. Esta consulta se define en el paquete SSIS QueryActivityCollect.dtsx.
Frecuencia de recopilación |
10 segundos |
Consulta |
|
Fase de carga
Durante la fase de carga, los datos recopilados se analizan para determinar qué datos se guardarán en el almacén de administración de datos. Este análisis determina un conjunto de estadísticas de consulta, planes de consulta y texto de consulta que hay que guardar.
Un elemento clave es un algoritmo que selecciona las consultas y los planes de consulta que se deben guardar en el almacenamiento de datos. Este algoritmo realiza las operaciones siguientes:
Recopila una instantánea de sys.dm_exec_query_stats. Esta instantánea se recopila con una frecuencia igual a la de la carga del conjunto de recopilación. (De forma predeterminada, es de 15 minutos.)
Recupera la instantánea más reciente (de hace 15 minutos) para compararla con la nueva instantánea. La instantánea más reciente está almacenada localmente en memoria caché y no es necesario recuperarla del almacén de administración de datos.
Selecciona las tres consultas principales de cada instantánea mediante las mediciones siguientes:
Tiempo transcurrido
Tiempo de trabajo
Lecturas lógicas
Escrituras lógicas
Lecturas físicas
Total de ejecuciones
Este proceso proporciona 6 x 3 sql_handles y plan_handles.
Identifica los sql_handles y plan_handles únicos.
Calcula la intersección de este resultado con los valores de sql_handles y plan_handles que están almacenados en el almacenamiento de datos.
Para los nuevos valores de sql_handles y plan_handles, obtiene el plan y el texto del servidor. Si no se puede encontrar el plan o el texto (es posible que se hayan quitado de la memoria caché local), almacena los identificadores en el almacén de administración de datos.
Para cada texto sql_handle que se recopila, normaliza el texto (por ejemplo, quita los parámetros y los literales) y calcula el valor hash único para el texto normalizado. Almacena el texto normalizado, el valor hash y la asignación al sql_handle original en el almacén de administración de datos.
En la tabla siguiente se muestra la consulta que se usa para obtener las instantáneas así como para analizar y a continuación cargar los datos en el almacén de administración de datos. Esta consulta se define en el paquete SSIS QueryActivityUpload.dtsx.
Consulta |
|
Resultado de la consulta |
snapshots.query_stats, snapshots.notable_query_text y snapshots.notable_query_plan |
Vea también