sql-server – ¿MSSQL Server tiene el equivalente a los registros de consultas de MySQL?

Pregunta:

He usado MySQL durante mucho tiempo y he encontrado que el registro de consultas general y el registro de consultas lentas son muy útiles para averiguar qué está sucediendo en el servidor y para identificar cuellos de botella.

Ahora necesito usar SQL Server. ¿SQL Server tiene instalaciones de registro similares? Si es así, ¿cómo se llaman?

Respuesta:

El servidor SQL mantiene información estadística sobre todas las consultas en varias tablas. Puede utilizar el siguiente código para determinar cuál es la consulta de ejecución más larga (de la tabla sys.dm_exec_query_stats ).

Debe ejecutar los siguientes comandos DBCC:

Este comando DBCC borra la memoria caché del servidor y reinicia el registro del tiempo de ejecución de la consulta:

DBCC FREEPROCCACHE

Ejecute esta consulta para encontrar la consulta de ejecución más larga:

SELECT DISTINCT TOP 10
 t.TEXT QueryName,
 s.execution_count AS ExecutionCount,
 s.max_elapsed_time AS MaxElapsedTime,
 ISNULL(s.total_elapsed_time / s.execution_count, 0) AS AvgElapsedTime,
 s.creation_time AS LogCreatedOn,
 ISNULL(s.execution_count / DATEDIFF(s, s.creation_time, GETDATE()), 0) AS FrequencyPerSec
 FROM sys.dm_exec_query_stats s
 CROSS APPLY sys.dm_exec_sql_text( s.sql_handle ) t
 ORDER BY
 s.max_elapsed_time DESC
 GO 

También debe echar un vistazo al artículo de la revista Technet Optimizing SQL Server Query Performance , que tiene una consulta para determinar qué consulta es la consulta de E / S de lectura más cara, así como una guía sobre cómo mirar los planes de ejecución y otras optimizaciones.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım