Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:Banco de Dados SQL do
do Azure
Instância Gerenciada SQL do Azure
do Azure Synapse Analytics
do Analytics Platform System (PDW)
Banco de Dados SQL no Microsoft Fabric
Devolve estatísticas de desempenho agregadas para procedimentos armazenados em cache. A vista devolve uma linha para cada plano de procedimento armazenado em cache, e a vida útil da linha é a mesma enquanto o procedimento armazenado permanece em cache. Quando um procedimento armazenado é removido da cache, a linha correspondente é eliminada desta visão. Nessa altura, o query_cache_removal_statistics evento é levantado de forma semelhante ao sys.dm_exec_query_stats para SQL Server e Azure SQL Managed Instance.
No Banco de Dados SQL do Azure, as exibições de gerenciamento dinâmico não podem expor informações que possam afetar a contenção do banco de dados ou expor informações sobre outros bancos de dados aos quais o usuário tem acesso. Para evitar a exposição dessas informações, todas as linhas que contêm dados que não pertencem ao locatário conectado são filtradas.
Observação
Os resultados de sys.dm_exec_procedure_stats podem variar em cada execução, pois os dados apenas refletem consultas finalizadas, e não as que ainda estão em andamento.
Para chamar isso do Azure Synapse Analytics ou do Analytics Platform System (PDW), use o nome sys.dm_pdw_nodes_exec_procedure_stats. Essa sintaxe não é suportada pelo pool SQL sem servidor no Azure Synapse Analytics.
| Nome da coluna | Tipo de dados | Description |
|---|---|---|
| database_id | int | ID da base de dados onde reside o procedimento armazenado. No Banco de Dados SQL do Azure, os valores são exclusivos em um único banco de dados ou pool elástico, mas não em um servidor lógico. |
| object_id | int | Número de identificação do objeto do procedimento armazenado. |
| type | char(2) | Tipo do objeto: P = procedimento armazenado SQL PC = Procedimento armazenado Assembly (CLR) X = Procedimento armazenado estendido |
| type_desc | nvarchar(60) | Descrição do tipo de objeto: SQL_STORED_PROCEDURE CLR_STORED_PROCEDURE EXTENDED_STORED_PROCEDURE |
| sql_handle | varbinary(64) | Isto pode ser usado para correlacionar com consultas em sys.dm_exec_query_stats que foram executadas dentro deste procedimento armazenado. |
| plan_handle | varbinary(64) | Identificador do plano na memória. Esse identificador é transitório e permanece constante apenas enquanto o plano permanece no cache. Esse valor pode ser usado com a sys.dm_exec_cached_plans visualização de gerenciamento dinâmico. Será sempre 0x000 quando um procedimento armazenado compilado nativamente consulta uma tabela otimizada para memória. |
| cached_time | datetime | Tempo em que o procedimento armazenado foi adicionado à cache. |
| hora_da_última_execução | datetime | Última vez em que o procedimento armazenado foi executado. |
| execution_count | bigint | O número de vezes que o procedimento armazenado foi executado desde a última compilação. |
| total_worker_time | bigint | A quantidade total de tempo de CPU, em microssegundos, consumida pelas execuções deste procedimento armazenado desde a sua compilação. Para procedimentos armazenados compilados nativamente, total_worker_time podem não ser precisos se muitas execuções demorarem menos de 1 milissegundo. |
| last_worker_time | bigint | Tempo de CPU, em microssegundos, que foi consumido na última vez que o procedimento armazenado foi executado. 1 |
| min_worker_time | bigint | O tempo mínimo de CPU, em microssegundos, que este procedimento armazenado alguma vez consumiu durante uma única execução. 1 |
| max_worker_time | bigint | O tempo máximo de CPU, em microssegundos, que este procedimento armazenado alguma vez consumiu durante uma única execução. 1 |
| total_physical_reads | bigint | O número total de leituras físicas realizadas pelas execuções deste procedimento armazenado desde a sua compilação. Será sempre 0 ao consultar uma tabela otimizada para a memória. |
| last_physical_reads | bigint | O número de leituras físicas realizadas na última vez que o procedimento armazenado foi executado. Será sempre 0 ao consultar uma tabela otimizada para a memória. |
| min_physical_reads | bigint | O número mínimo de leituras físicas que este procedimento armazenado alguma vez realizou durante uma única execução. Será sempre 0 ao consultar uma tabela otimizada para a memória. |
| max_physical_reads | bigint | O número máximo de leituras físicas que este procedimento armazenado alguma vez realizou durante uma única execução. Será sempre 0 ao consultar uma tabela otimizada para a memória. |
| total_logical_writes | bigint | O número total de escritas lógicas realizadas pelas execuções deste procedimento armazenado desde a sua compilação. Será sempre 0 ao consultar uma tabela otimizada para a memória. |
| last_logical_writes | bigint | O número de páginas de pool tampão sujo da última vez que o plano foi executado. Se uma página já estiver suja (modificada), nenhuma gravação será contada. Será sempre 0 ao consultar uma tabela otimizada para a memória. |
| min_logical_writes | bigint | O número mínimo de escritas lógicas que este procedimento armazenado alguma vez realizou durante uma única execução. Será sempre 0 ao consultar uma tabela otimizada para a memória. |
| max_logical_writes | bigint | O número máximo de escritas lógicas que este procedimento armazenado alguma vez realizou durante uma única execução. Será sempre 0 ao consultar uma tabela otimizada para a memória. |
| total_logical_reads | bigint | O número total de leituras lógicas realizadas pelas execuções deste procedimento armazenado desde que foi compilado. Será sempre 0 ao consultar uma tabela otimizada para a memória. |
| últimas_leituras_lógicas | bigint | O número de leituras lógicas realizadas na última execução do procedimento armazenado. Será sempre 0 ao consultar uma tabela otimizada para a memória. |
| min_logical_reads | bigint | O número mínimo de leituras lógicas que este procedimento armazenado alguma vez realizou durante uma única execução. Será sempre 0 ao consultar uma tabela otimizada para a memória. |
| max_logical_reads | bigint | O número máximo de leituras lógicas que este procedimento armazenado alguma vez realizou durante uma única execução. Será sempre 0 ao consultar uma tabela otimizada para a memória. |
| total_elapsed_time | bigint | O tempo total decorrido, em microssegundos, para as execuções concluídas deste procedimento armazenado. |
| tempo_decorrido_último | bigint | O tempo decorrido, em microssegundos, para a execução mais recente deste procedimento armazenado. |
| min_elapsed_time | bigint | O tempo mínimo decorrido, em microssegundos, para qualquer execução completa deste procedimento armazenado. |
| max_elapsed_time | bigint | O tempo máximo decorrido, em microssegundos, para qualquer execução completa deste procedimento armazenado. |
| total_spills | bigint | O número total de páginas divulgadas pela execução deste procedimento armazenado desde a sua compilação. Aplica-se a: A partir do SQL Server 2017 (14.x) CU3 |
| last_spills | bigint | O número de páginas derramadas na última vez que o procedimento armazenado foi executado. Aplica-se a: A partir do SQL Server 2017 (14.x) CU3 |
| min_spills | bigint | O número mínimo de páginas que este procedimento armazenado alguma vez revelou durante uma única execução. Aplica-se a: A partir do SQL Server 2017 (14.x) CU3 |
| max_spills | bigint | O número máximo de páginas que este procedimento armazenado alguma vez revelou durante uma única execução. Aplica-se a: A partir do SQL Server 2017 (14.x) CU3 |
| pdw_node_id | int | O identificador do nó em que esta distribuição se encontra. Aplica-se a: Azure Synapse Analytics, Analytics Platform System (PDW) |
| total_page_server_reads | bigint | O número total de leituras do servidor de páginas realizadas pelas execuções deste procedimento armazenado desde a sua compilação. Aplica-se a: Hiperescala do Banco de Dados SQL do Azure |
| last_page_server_reads | bigint | O número de leituras do servidor de páginas realizadas na última execução do procedimento armazenado. Aplica-se a: Hiperescala do Banco de Dados SQL do Azure |
| min_page_server_reads | bigint | O número mínimo de leituras do servidor de páginas que este procedimento armazenado alguma vez realizou durante uma única execução. Aplica-se a: Hiperescala do Banco de Dados SQL do Azure |
| max_page_server_reads | bigint | O número máximo de leituras de servidor de páginas que este procedimento armazenado alguma vez realizou durante uma única execução. Aplica-se a: Hiperescala do Banco de Dados SQL do Azure |
1 Para procedimentos armazenados compilados nativamente, quando a recolha de estatísticas está ativada, o tempo de trabalho é recolhido em milissegundos. Se a consulta for executada em menos de um milissegundo, o valor será 0.
Permissions
No SQL Server e na Instância Gerenciada do SQL, requer VIEW SERVER STATE permissão.
No Banco de Dados SQL Basic, S0e S1 objetivos de serviço e para bancos de dados em pools elásticos , a conta de de administrador do servidor, a conta de de administrador do Microsoft Entra ou a associação aode função de servidor ##MS_ServerStateReader## é necessária. Em todos os outros objetivos de serviço do Banco de dados SQL, é necessária a permissão VIEW DATABASE STATE no banco de dados ou a associação à função de servidor ##MS_ServerStateReader##.
Permissões para SQL Server 2022 e posterior
Requer a permissão VIEW SERVER PERFORMANCE STATE no servidor.
Observações
As estatísticas na vista são atualizadas quando a execução de um procedimento armazenado é concluída.
Examples
O exemplo seguinte retorna informações sobre os dez principais procedimentos armazenados identificados pelo tempo médio decorrido.
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;
Ver também
Visualizações e funções de gerenciamento dinâmico relacionadas à execução (Transact-SQL)
sys.dm_exec_sql_text (Transact-SQL)
sys.dm_exec_query_plan (Transact-SQL)
sys.dm_exec_query_stats (Transact-SQL)
sys.dm_exec_trigger_stats (Transact-SQL)
sys.dm_exec_cached_plans (Transact-SQL)