Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Le moyen le plus rapide d'identifier la variation de procédure stockée la plus utilisée dans SQL Server 2005

Cela vous donnera les 50 procédures les plus utilisées et les déclarations dans les procédures, à partir d'ici :Afficher les 50 procédures stockées les plus utilisées dans SQL Server

SELECT TOP 50 * FROM(SELECT COALESCE(OBJECT_NAME(s2.objectid),'Ad-Hoc') AS ProcName,
  execution_count,s2.objectid,
    (SELECT TOP 1 SUBSTRING(s2.TEXT,statement_start_offset / 2+1 ,
      ( (CASE WHEN statement_end_offset = -1
  THEN (LEN(CONVERT(NVARCHAR(MAX),s2.TEXT)) * 2)
ELSE statement_end_offset END)- statement_start_offset) / 2+1)) AS sql_statement,
       last_execution_time
FROM sys.dm_exec_query_stats AS s1
CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS s2 ) x
WHERE sql_statement NOT like 'SELECT * FROM(SELECT coalesce(object_name(s2.objectid)%'
and OBJECTPROPERTYEX(x.objectid,'IsProcedure') = 1
and exists (SELECT 1 FROM sys.procedures s
WHERE s.is_ms_shipped = 0
and s.name = x.ProcName )
ORDER BY execution_count DESC

Visitez ce lien pour saisir la requête pour le nom du proc uniquement, mais je pense que c'est une meilleure requête car elle vous donne également les instructions dans les procs