Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Возвращает суммарную статистику производительности для кэшированных хранимых процедур. Это представление содержит по одной строке для каждого кэшированного плана хранимой процедуры. Время существования строки равно времени пребывания хранимой процедуры в кэше. Когда хранимая процедура удаляется из кэша, соответствующая строка исключается из представления. В этот момент возникает событие трассировки статистики производительности SQL, аналогичное sys.dm_exec_query_stats.
Динамические административные представления в среде База данных SQL Windows Azure не могут предоставлять информацию, которая может повлиять на автономность базы данных, или информацию о других базах данных, к которым имеет доступ пользователь. Чтобы избежать предоставления этих сведений, все строки, содержащие данные, не принадлежащие к подключенному клиенту, фильтруются.
Примечание
Начальный запрос представления sys.dm_exec_procedure_stats может формировать неточные результаты, если на сервере существует рабочая нагрузка.Более точные результаты могут быть получены при повторном выполнении запроса.
Применимо для следующих объектов: SQL Server (SQL Server 2008 по текущую версию), База данных SQL Windows Azure (с первоначального выпуска по текущий выпуск). |
Имя столбца |
Тип данных |
Описание |
|---|---|---|
database_id |
int |
Идентификатор базы данных, в которой находится хранимая процедура. |
object_id |
int |
Идентификатор объекта хранимой процедуры. |
тип |
char(2) |
Тип объекта: P = хранимая процедура SQL PC = хранимая процедура сборки (среда CLR) X = расширенная хранимая процедура |
type_desc |
nvarchar(60) |
Описание типа объекта: SQL_STORED_PROCEDURE CLR_STORED_PROCEDURE EXTENDED_STORED_PROCEDURE |
sql_handle |
varbinary(64) |
Может использоваться для корреляции с запросами в представлении sys.dm_exec_query_stats, которые выполнялись из этой хранимой процедуры. |
plan_handle |
varbinary(64) |
Идентификатор плана в оперативной памяти. Этот идентификатор является временным и константным, только пока план сохраняется в кэше. Это значение может быть использовано с динамическим административным представлением sys.dm_exec_cached_plans. Значение всегда равно 0x000, если скомпилированная в собственном коде хранимая процедура запрашивает оптимизированную для памяти таблицу. |
cached_time |
datetime |
Время добавления хранимой процедуры в кэш. |
last_execution_time |
datetime |
Время последнего выполнения хранимой процедуры. |
execution_count |
bigint |
Количество выполнений хранимой процедуры с момента последней компиляции. |
total_worker_time |
bigint |
Общее время ЦП, затраченное на выполнение хранимой процедуры с момента компиляции, в микросекундах. Для скомпилированных в собственном коде хранимых процедур функция total_worker_time может быть неточной, если за время меньше миллисекунды выполняется большое количество хранимых процедур. |
last_worker_time |
bigint |
Время ЦП, затраченное на последнее выполнение хранимой процедуры, в микросекундах. 1 |
min_worker_time |
bigint |
Минимальное время ЦП (в микросекундах), которое эта хранимая процедура когда-либо затрачивала на одно выполнение. 1 |
max_worker_time |
bigint |
Максимальное время ЦП (в микросекундах), которое эта хранимая процедура когда-либо затрачивала на одно выполнение. 1 |
total_physical_reads |
bigint |
Общее количество операций физического считывания при выполнении хранимой процедуры с момента ее компиляции. Значение всегда равно 0 при запросе оптимизированной для памяти таблицы. |
last_physical_reads |
bigint |
Количество операций физического считывания за время последнего выполнения хранимой процедуры. Значение всегда равно 0 при запросе оптимизированной для памяти таблицы. |
min_physical_reads |
bigint |
Минимальное количество операций физического считывания за одно выполнение хранимой процедуры. Значение всегда равно 0 при запросе оптимизированной для памяти таблицы. |
max_physical_reads |
bigint |
Максимальное количество операций физического считывания за одно выполнение хранимой процедуры. Значение всегда равно 0 при запросе оптимизированной для памяти таблицы. |
total_logical_writes |
bigint |
Общее количество операций логической записи при выполнении хранимой процедуры с момента ее компиляции. Значение всегда равно 0 при запросе оптимизированной для памяти таблицы. |
last_logical_writes |
bigint |
Количество страниц в буферном пуле, загрязненных во время последнего выполнения плана. Если страница уже считается грязной (т. е. измененной), записи не учитываются. Значение всегда равно 0 при запросе оптимизированной для памяти таблицы. |
min_logical_writes |
bigint |
Минимальное количество операций логической записи за одно выполнение хранимой процедуры. Значение всегда равно 0 при запросе оптимизированной для памяти таблицы. |
max_logical_writes |
bigint |
Максимальное количество операций логической записи за одно выполнение хранимой процедуры. Значение всегда равно 0 при запросе оптимизированной для памяти таблицы. |
total_logical_reads |
bigint |
Общее количество операций логического чтения при выполнении хранимой процедуры с момента ее компиляции. Значение всегда равно 0 при запросе оптимизированной для памяти таблицы. |
last_logical_reads |
bigint |
Количество операций логического чтения за время последнего выполнения хранимой процедуры. Значение всегда равно 0 при запросе оптимизированной для памяти таблицы. |
min_logical_reads |
bigint |
Минимальное количество операций логического чтения за одно выполнение хранимой процедуры. Значение всегда равно 0 при запросе оптимизированной для памяти таблицы. |
max_logical_reads |
bigint |
Максимальное количество операций логического чтения за одно выполнение хранимой процедуры. Значение всегда равно 0 при запросе оптимизированной для памяти таблицы. |
total_elapsed_time |
bigint |
Общее время, затраченное на выполнение хранимой процедуры, в микросекундах. |
last_elapsed_time |
bigint |
Время, затраченное на последнее выполнение хранимой процедуры, в микросекундах. |
min_elapsed_time |
bigint |
Минимальное время, затраченное на одно выполнение хранимой процедуры, в микросекундах. |
max_elapsed_time |
bigint |
Максимальное время, затраченное на одно выполнение хранимой процедуры, в микросекундах. |
1 Если сбор статистики включен, то накопленное время рабочей роли для скомпилированных в собственном коде хранимых процедур указывается в миллисекундах. Если запрос выполняется за время меньше миллисекунды, это значение будет равно 0.
Разрешения
Требуется разрешение VIEW SERVER STATE для сервера.
Замечания
Статистика в представлении обновляется после завершения выполнения хранимой процедуры.
Примеры
В следующем примере возвращаются сведения о 10 первых хранимых процедурах, идентифицируемых по среднему затраченному времени.
SELECT TOP 10 d.object_id, d.database_id, OBJECT_NAME(object_id, database_id) 'proc name',
d.cached_time, d.last_execution_time, d.total_elapsed_time,
d.total_elapsed_time/d.execution_count AS [avg_elapsed_time],
d.last_elapsed_time, d.execution_count
FROM sys.dm_exec_procedure_stats AS d
ORDER BY [total_worker_time] DESC;
См. также
Справочник
Динамические административные представления и функции, связанные с выполнением (Transact-SQL)
sys.dm_exec_sql_text (Transact-SQL)
sys.dm_exec_query_stats (Transact-SQL)
Динамические административные представления и функции (Transact-SQL)