Información de consultas en el almacenamiento de datos de Fabric

Se aplica a: punto de conexión de análisis SQL y Almacenamiento de datos en Microsoft Fabric

En Microsoft Fabric, la característica de información de consultas es una solución escalable, sostenible y ampliable para mejorar la experiencia de análisis de SQL. Gracias a los datos históricos de consulta, la información agregada y el acceso al texto de consulta real, puede analizar y ajustar el rendimiento de las consultas. QI proporciona información sobre las consultas que se ejecutan solo en el contexto de un usuario, no se tienen en cuenta las consultas del sistema.

La característica de información de consulta proporciona una ubicación central para datos históricos de consultas e información procesable durante 30 días, lo que le ayuda a tomar decisiones fundamentadas para mejorar el rendimiento del almacén o el punto de conexión de análisis SQL. Cuando una consulta SQL se ejecuta en Microsoft Fabric, la característica de información de consulta recopila y consolida sus datos de ejecución, lo que proporciona información valiosa. Puede ver el texto de consulta completo de los roles de administrador, miembro y colaborador.

  • Datos históricos de consultas: la característica de información de consultas almacena datos históricos sobre las ejecuciones de consultas, lo que le permite realizar un seguimiento de los cambios en el rendimiento a lo largo del tiempo. Las consultas del sistema no se almacenan en la información de consulta.
  • Información agregada: la característica de información de consulta agrega datos de ejecución de consultas a información más accionable, por ejemplo, la identificación de consultas de ejecución prolongada o la mayoría de los usuarios activos. Estas agregaciones se basan en la forma de consulta y se explican más detalladamente en ¿Cómo se agregan consultas similares para generar información?.

Antes de empezar

Debe tener acceso a unpunto de conexión de análisis SQL o Almacenamiento dentro de un área de trabajo decapacidad Premium con permisos de colaborador o superior.

¿Cuándo necesita información de consulta?

La característica de información de consulta aborda varias preguntas y preocupaciones relacionadas con el rendimiento de las consultas y la optimización de bases de datos, entre las que se incluyen:

Análisis de rendimiento de consultas

  • ¿Cuál es el rendimiento histórico de nuestras consultas?
  • ¿Hay alguna consulta de duración prolongada que necesite atención?
  • ¿Podemos identificar las consultas que provocan cuellos de botella de rendimiento?

Ajuste y optimización de consultas

  • ¿Qué consultas se ejecutan con frecuencia y se puede mejorar su rendimiento?
  • ¿Se pueden identificar las consultas con errores o canceladas?
  • ¿Se puede realizar un seguimiento de los cambios en el rendimiento de las consultas a lo largo del tiempo?
  • ¿Hay alguna consulta que tenga un rendimiento deficiente de forma sistemática?

Supervisión de la actividad del usuario

  • ¿Quién envió una consulta determinada?
  • ¿Quiénes son los usuarios más activos o los usuarios con las consultas de ejecución más prolongada?

Hay tres vistas del sistema para proporcionar respuestas a estas preguntas:

¿Dónde puede ver información de consulta?

Las vistas generadas automáticamente se encuentran en el esquema de queryinsights en Punto de conexión de análisis SQL y Almacén. En el Explorador de tejido de un almacén, por ejemplo, busque vistas de información de consulta en Esquemas, queryinsights, Vistas.

Captura de pantalla del explorador de Fabric que muestra dónde buscar vistas con información de consultas en Esquemas, queryinsights, Vistas.

Una vez completada la ejecución de la consulta, verá sus datos de ejecución en las vistas de queryinsights del almacén o el punto de conexión de análisis SQL al que estaba conectado. Si ejecuta una consulta entre bases de datos mientras se encuentra en el contexto de WH_2, la consulta aparece en la información de consulta de WH_2. Las consultas completadas pueden tardar hasta 15 minutos en aparecer en la información de consulta en función de la carga de trabajo simultánea que se ejecuta. El tiempo necesario para que las consultas aparezcan en la información de consulta aumenta con el aumento de las consultas simultáneas que se ejecutan.

¿Cómo se agregan consultas similares para generar información?

Las consultas se consideran iguales por la característica de información de consulta si, aparte del valor de predicado, dos consultas tienen una coincidencia exacta en el texto de la consulta. Los espacios en blanco y los caracteres de nueva línea representan las consultas que se deben considerar diferentes.

Puede usar la columna query hash en las vistas para analizar consultas similares y explorar cada ejecución en profundidad.

Por ejemplo, las siguientes consultas se consideran iguales después de que se parametricen sus predicados:

SELECT * FROM Orders
WHERE OrderDate BETWEEN '1996-07-01' AND '1996-07-31';

y

SELECT * FROM Orders
WHERE OrderDate BETWEEN '2000-07-01' AND '2006-07-31';

Ejemplos

Identificar las consultas ejecutadas por el usuario en los últimos 30 minutos

La consulta siguiente usa queryinsights.exec_requests_history y la función USER_NAME() integrada, que devuelve el nombre de usuario de la sesión actual.

SELECT * FROM queryinsights.exec_requests_history 
WHERE start_time >= DATEADD(MINUTE, -30, GETUTCDATE())
AND login_name = USER_NAME();

Identificar las consultas que se ejecutan con más frecuencia mediante una subcadena en el texto de la consulta

La consulta siguiente devuelve las consultas más recientes que coinciden con una cadena determinada, ordenadas por el número de ejecuciones correctas de forma descendente.

SELECT * FROM queryinsights.frequently_run_queries
WHERE last_run_command LIKE '%<some_label>%'
ORDER BY number_of_successful_runs DESC;

Identificar las consultas de ejecución prolongada mediante una subcadena en el texto de la consulta

La consulta siguiente devuelve las consultas que coinciden con una cadena determinada, ordenadas por el tiempo medio de ejecución de consultas de forma descendente.

SELECT * FROM queryinsights.long_running_queries
WHERE last_run_command LIKE '%<some_label>%'
ORDER BY median_total_elapsed_time_ms DESC;