SQL SERVER 2005 en mode debug
Par Draggi le mercredi, décembre 30 2009, 13:48 - SQL - Lien permanent
Voici quelques commandes que j'ai utilisées pour déboguer un soucis de temps d'exécution sur une requête SQL SERVER.
Mesurer les temps d'accès (cache, disque ...) d'une requête
SET STATISTICS IO ON
--VOTRE QUERY
SET STATISTICS IO OFF
TOP 100 des requêtes les plus consommatrices
SELECT TOP 100
qs.execution_count,
DatabaseName = DB_NAME(qp.dbid),
ObjectName = OBJECT_NAME(qp.objectid,qp.dbid),
StatementDefinition =
SUBSTRING (
st.text,
(
qs.statement_start_offset / 2
) + 1,
(
(
CASE qs.statement_end_offset
WHEN -1 THEN DATALENGTH(st.text)
ELSE qs.statement_end_offset
END - qs.statement_start_offset
) / 2
) + 1
),
query_plan,
st.text, total_elapsed_time
FROM sys.dm_exec_query_stats AS qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS st
CROSS APPLY sys.dm_exec_query_plan (qs.plan_handle) qp
WHERE
st.encrypted = 0
ORDER BY qs.execution_count DESC