Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Devuelve estadísticas de rendimiento de agregado para los procedimientos almacenados en memoria caché. La vista devuelve una fila por cada procedimiento almacenado en memoria caché y la vigencia de la fila corresponde al tiempo que el procedimiento almacenado permanece en memoria caché. Cuando se quita un procedimiento almacenado de la memoria caché, la fila correspondiente se elimina de esta vista. En ese momento, se genera un evento de Seguimiento de SQL de Estadísticas de rendimiento similar a sys.dm_exec_query_stats.
En Windows Azure SQL Database, las vistas de administración dinámica no pueden exponer información que impactaría a la contención de la base de datos ni acerca de otras bases de datos a las que el usuario tenga acceso. Para evitar exponer esta información, cada fila que contiene datos que no pertenecen al arrendatario conectado se filtra.
Nota
Una consulta inicial de sys.dm_exec_procedure_stats podría producir resultados imprecisos si hay una carga de trabajo ejecutándose actualmente en el servidor.Pueden determinarse resultados más precisos volviendo a ejecutar la consulta.
Se aplica a: SQL Server (SQL Server 2008 a versión actual), Windows Azure SQL Database (Versión inicial a versión actual). |
Nombre de columna |
Tipo de datos |
Descripción |
|---|---|---|
database_id |
int |
Identificador de base de datos en el que el procedimiento almacenado reside. |
object_id |
int |
Número de identificación de objeto del procedimiento almacenado. |
tipo |
char(2) |
Tipo del objeto: P = Procedimiento almacenado de SQL PC = Procedimiento almacenado de ensamblado (CLR) X = Procedimiento almacenado extendido |
type_desc |
nvarchar(60) |
Descripción del tipo de objeto: SQL_STORED_PROCEDURE CLR_STORED_PROCEDURE EXTENDED_STORED_PROCEDURE |
sql_handle |
varbinary(64) |
Se puede utilizar para correlacionar con las consultas en sys.dm_exec_query_stats que se ejecutaron desde dentro de este procedimiento almacenado. |
plan_handle |
varbinary(64) |
Identificador del plan en memoria. Este identificador es transitorio y permanece constante solo mientras el plan permanece en la memoria caché. Este valor se puede usar con la vista de administración dinámica de sys.dm_exec_cached_plans: Será siempre 0x000 cuando un procedimiento almacenado nativo consulte una tabla con optimización para memoria. |
cached_time |
datetime |
Momento en el que el procedimiento almacenado se agregó a la caché. |
last_execution_time |
datetime |
Hora en que se ejecutó el procedimiento almacenado por última vez. |
execution_count |
bigint |
Número de veces que se ha ejecutado el procedimiento almacenado desde que se compiló por última vez. |
total_worker_time |
bigint |
Tiempo total de CPU, en microsegundos, consumido por las ejecuciones de este procedimiento almacenado desde que se compiló. Para los procedimientos almacenados compilados de forma nativa, total_worker_time puede no ser exacto si varias ejecuciones tardan menos de 1 milisegundos. |
last_worker_time |
bigint |
Tiempo de CPU, en microsegundos, consumido la última vez que se ejecutó el procedimiento almacenado. 1 |
min_worker_time |
bigint |
Tiempo mínimo de CPU, en microsegundos, que ha utilizado este procedimiento almacenado durante una ejecución. 1 |
max_worker_time |
bigint |
Tiempo máximo de CPU, en microsegundos, que ha utilizado este procedimiento almacenado durante una ejecución. 1 |
total_physical_reads |
bigint |
Número total de lecturas físicas realizadas por las ejecuciones de este procedimiento almacenado desde que se compiló. Será siempre 0 al consultar una tabla con optimización para memoria. |
last_physical_reads |
bigint |
Número de lecturas físicas realizadas la última vez que se ejecutó el procedimiento almacenado. Será siempre 0 al consultar una tabla con optimización para memoria. |
min_physical_reads |
bigint |
Número mínimo de lecturas físicas que ha realizado este procedimiento almacenado durante una ejecución. Será siempre 0 al consultar una tabla con optimización para memoria. |
max_physical_reads |
bigint |
Número máximo de lecturas físicas que ha realizado este procedimiento almacenado durante una ejecución. Será siempre 0 al consultar una tabla con optimización para memoria. |
total_logical_writes |
bigint |
Número total de lecturas lógicas realizadas por las ejecuciones de este procedimiento almacenado desde que se compiló. Será siempre 0 al consultar una tabla con optimización para memoria. |
last_logical_writes |
bigint |
Número de páginas del grupo de búferes desfasadas la última vez que se ejecutó el plan. Si una página ya está desfasada (modificada) no se cuenta ninguna escritura. Será siempre 0 al consultar una tabla con optimización para memoria. |
min_logical_writes |
bigint |
Número mínimo de lecturas lógicas que ha realizado este procedimiento almacenado durante una ejecución. Será siempre 0 al consultar una tabla con optimización para memoria. |
max_logical_writes |
bigint |
Número máximo de lecturas lógicas que ha realizado este procedimiento almacenado durante una ejecución. Será siempre 0 al consultar una tabla con optimización para memoria. |
total_logical_reads |
bigint |
Número total de lecturas lógicas realizadas por las ejecuciones de este procedimiento almacenado desde que se compiló. Será siempre 0 al consultar una tabla con optimización para memoria. |
last_logical_reads |
bigint |
Número de lecturas lógicas realizadas la última vez que se ejecutó el procedimiento almacenado. Será siempre 0 al consultar una tabla con optimización para memoria. |
min_logical_reads |
bigint |
Número mínimo de lecturas lógicas que ha realizado este procedimiento almacenado durante una ejecución. Será siempre 0 al consultar una tabla con optimización para memoria. |
max_logical_reads |
bigint |
Número máximo de lecturas lógicas que ha realizado este procedimiento almacenado durante una ejecución. Será siempre 0 al consultar una tabla con optimización para memoria. |
total_elapsed_time |
bigint |
Tiempo total transcurrido, en microsegundos, hasta la finalización de las ejecuciones de este procedimiento almacenado. |
last_elapsed_time |
bigint |
Tiempo transcurrido, en microsegundos, hasta la finalización de la ejecución más reciente de este procedimiento almacenado. |
min_elapsed_time |
bigint |
Tiempo mínimo transcurrido, en microsegundos, hasta que se completa cualquier ejecución de este procedimiento almacenado. |
max_elapsed_time |
bigint |
Tiempo máximo transcurrido, en microsegundos, hasta que se completa cualquier ejecución de este procedimiento almacenado. |
1 En los procedimientos almacenados compilados de forma nativa, cuando la recopilación de estadísticas está habilitada, el tiempo de trabajo se recopila en milisegundos. Si la consulta se ejecuta en menos de un milisegundo, el valor será 0.
Permisos
Requiere el permiso VIEW SERVER STATE en el servidor.
Comentarios
Las estadísticas en la vista se actualizan cuando una ejecución del procedimiento almacenado se completa.
Ejemplos
En el siguiente ejemplo se devuelve información acerca de los diez procedimientos almacenados identificados con el mayor promedio de tiempo transcurrido.
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;
Vea también
Referencia
Funciones y vistas de administración dinámica relacionadas con ejecuciones (Transact-SQL)
sys.dm_exec_sql_text (Transact-SQL)
sys.dm_exec_query_stats (Transact-SQL)
Funciones y vistas de administración dinámica (Transact-SQL)