Выполнение хранимой процедуры не в DMV (sys.dm_exec_procedure_stats, sys.dm_exec_cached_plans)
Я измеряю время выполнения хранимых процедур в базе данных, запрашивая DMV sys.dm_exec_procedure_stats
,
Я обнаружил, что некоторые хранимые процедуры просто не перечислены в sys.dm_exec_procedure_stats
, После исследования кажется, что хранимые процедуры, включающие оператор DDL (ALTER TABLE и т. Д.), Просто не кэшируются и поэтому не возвращаются из sys.dm_exec_procedure_stats
или же sys.dm_exec_cached_plans
,
Я наблюдал такое поведение на SQL Server 2008. Когда я использую 2012, поведение отличается - все хранимые процедуры, кажется, кэшируются и возвращаются из DMV. Я не нашел ничего упомянутого на официальном сайте Microsoft.
Есть ли обходной путь для этого? Я хотел бы получить статистику выполнения (например, время выполнения) хранимой процедуры, которая выполняет операторы DDL...