Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Retorna informações sobre cada solicitação sendo executada no SQL Server.
Dica
Para executar código fora do SQL Server (por exemplo, procedimentos armazenados estendidos e consultas distribuídas), um thread deve ser executado fora do controle de um agendador não preventivo.Para fazer isso, um trabalhador muda para o modo preventivo.Os valores de tempo retornados por essa exibição de gerenciamento dinâmico não incluem o tempo gasto no modo preventivo.
Aplica-se a: SQL Server (SQL Server 2008 até a versão atual), Banco de dados SQL do Azure (versão inicial até a versão atual). |
Nome da coluna |
Tipo de dados |
Descrição |
|---|---|---|
session_id |
smallint |
ID da sessão a que esta solicitação está relacionada. Não permite valor nulo. |
request_id |
int |
ID da solicitação. Exclusiva no contexto da sessão. Não permite valor nulo. |
start_time |
datetime |
Carimbo de data e hora em que a solicitação chegou. Não permite valor nulo. |
status |
nvarchar(30) |
Status da solicitação. Pode ser o seguinte:
Não permite valor nulo. |
command |
nvarchar(32) |
Identifica o tipo atual de comando que está sendo processado. Os tipos de comando comuns incluem:
O texto da solicitação pode ser recuperado usando-se sys.dm_exec_sql_text com o sql_handle correspondente para a solicitação. Os processos de sistema internos definem o comando com base no tipo de tarefa que eles executam. As tarefas podem incluir o seguinte:
Não permite valor nulo. |
sql_handle |
varbinary(64) |
Mapa de hash do texto SQL da solicitação. Permite valor nulo. |
statement_start_offset |
int |
Número de caracteres no procedimento em lote ou armazenado atualmente em execução no qual a instrução atualmente em execução se inicia. Pode ser usado junto com sql_handle, statement_end_offset e a função de gerenciamento dinâmico sys.dm_exec_sql_text para recuperar a instrução atualmente em execução para a solicitação. Permite valor nulo. |
statement_end_offset |
int |
Número de caracteres no procedimento em lote ou armazenado atualmente em execução no qual a instrução atualmente em execução termina. Pode ser usado junto com sql_handle, statement_end_offset e a função de gerenciamento dinâmico sys.dm_exec_sql_text para recuperar a instrução atualmente em execução para a solicitação. Permite valor nulo. |
plan_handle |
varbinary(64) |
Mapa de hash do plano para execução SQL. Permite valor nulo. |
database_id |
smallint |
ID do banco de dados no qual a solicitação está em execução. Não permite valor nulo. |
user_id |
int |
ID do usuário que enviou a solicitação. Não permite valor nulo. |
connection_id |
uniqueidentifier |
ID da conexão em que a solicitação chegou. Permite valor nulo. |
blocking_session_id |
smallint |
ID da sessão que está bloqueando a solicitação. Se esta coluna for NULL, a solicitação não estará bloqueada ou as informações da sessão de bloqueio não estarão disponíveis (ou não podem ser identificadas). -2 = O recurso de bloqueio pertence a uma transação distribuída órfã. -3 = O recurso de bloqueio pertence a uma transação de recuperação adiada. -4 = A ID da sessão do proprietário da trava de bloqueio não pôde ser determinada neste momento devido a transições internas de estado da trava. |
wait_type |
nvarchar(60) |
Se a solicitação estiver bloqueada, esta coluna retornará o tipo de espera. Permite valor nulo. Para obter informações sobre tipos de espera, consulte sys.dm_os_wait_stats (Transact-SQL). |
wait_time |
int |
Se a solicitação estiver bloqueada, esta coluna retornará a duração, em milissegundos, da espera atual. Não permite valor nulo. |
last_wait_type |
nvarchar(60) |
Se esta solicitação tiver sido previamente bloqueada, esta coluna retornará o tipo da última espera. Não permite valor nulo. |
wait_resource |
nvarchar(256) |
Se a solicitação estiver bloqueada, esta coluna retornará o recurso pelo qual a solicitação está esperando atualmente. Não permite valor nulo. |
open_transaction_count |
int |
Número de transações abertas para esta solicitação. Não permite valor nulo. |
open_resultset_count |
int |
Número de conjuntos de resultados abertos para esta solicitação. Não permite valor nulo. |
transaction_id |
bigint |
ID da transação na qual esta solicitação é executada. Não permite valor nulo. |
context_info |
varbinary(128) |
Valor CONTEXT_INFO da sessão. Permite valor nulo. |
percent_complete |
real |
Porcentagem de trabalho concluída para os comandos a seguir:
Não permite valor nulo. |
estimated_completion_time |
bigint |
Somente interno. Não permite valor nulo. |
cpu_time |
int |
Tempo da CPU, em milissegundos, usado pela solicitação. Não permite valor nulo. |
total_elapsed_time |
int |
Tempo total decorrido em milissegundos desde que a solicitação chegou. Não permite valor nulo. |
scheduler_id |
int |
ID do agendador que está programando esta solicitação. Não permite valor nulo. |
task_address |
varbinary(8) |
Endereço de memória alocado à tarefa associada a esta solicitação. Permite valor nulo. |
reads |
bigint |
Número de leituras executadas por esta solicitação. Não permite valor nulo. |
writes |
bigint |
Número de gravações executadas por esta solicitação. Não permite valor nulo. |
logical_reads |
bigint |
Número de leituras lógicas executadas pela solicitação. Não permite valor nulo. |
text_size |
int |
Configuração TEXTSIZE para esta solicitação. Não permite valor nulo. |
language |
nvarchar(128) |
Configuração de idioma para a solicitação. Permite valor nulo. |
date_format |
nvarchar(3) |
Configuração DATEFORMAT para a solicitação. Permite valor nulo. |
date_first |
smallint |
Configuração DATEFIRST para a solicitação. Não permite valor nulo. |
quoted_identifier |
bit |
1 = QUOTED_IDENTIFIER é ON para a solicitação. Caso contrário, é 0. Não permite valor nulo. |
arithabort |
bit |
1 = configuração ARITHABORT é ON para a solicitação. Caso contrário, é 0. Não permite valor nulo. |
ansi_null_dflt_on |
bit |
1 = configuração ANSI_NULL_DFLT_ON é ON para a solicitação. Caso contrário, é 0. Não permite valor nulo. |
ansi_defaults |
bit |
1 = configuração ANSI_DEFAULTS é ON para a solicitação. Caso contrário, é 0. Não permite valor nulo. |
ansi_warnings |
bit |
1 = configuração ANSI_WARNINGS é ON para a solicitação. Caso contrário, é 0. Não permite valor nulo. |
ansi_padding |
bit |
1 = configuração ANSI_PADDING é ON para a solicitação. Caso contrário, é 0. Não permite valor nulo. |
ansi_nulls |
bit |
1 = configuração ANSI_NULLS é ON para a solicitação. Caso contrário, é 0. Não permite valor nulo. |
concat_null_yields_null |
bit |
1 = configuração CONCAT_NULL_YIELDS_NULL é ON para a solicitação. Caso contrário, é 0. Não permite valor nulo. |
transaction_isolation_level |
smallint |
Nível de isolamento com que a transação desta solicitação é criada. Não permite valor nulo. 0 = Não Especificado 1 = Leitura Não Confirmada 2 = Leitura Confirmada 3 = Repetível 4 = Serializável 5 = Instantâneo |
lock_timeout |
int |
Tempo limite de bloqueio em milissegundos desta solicitação. Não permite valor nulo. |
deadlock_priority |
int |
Configuração DEADLOCK_PRIORITY da solicitação. Não permite valor nulo. |
row_count |
bigint |
Número de linhas que foram retornadas ao cliente por esta solicitação. Não permite valor nulo. |
prev_error |
int |
Último erro ocorrido durante a execução da solicitação. Não permite valor nulo. |
nest_level |
int |
Nível de aninhamento atual do código sendo executado na solicitação. Não permite valor nulo. |
granted_query_memory |
int |
Número de páginas alocadas à execução de uma consulta na solicitação. Não permite valor nulo. |
executing_managed_code |
bit |
Indica se uma solicitação específica está atualmente executando objetos de tempo de execução de linguagem comum, como rotinas, tipos e gatilhos. É definida para todo o tempo em que um objeto de tempo de execução de linguagem comum estiver na pilha, mesmo durante a execução de Transact-SQL no tempo de execução de linguagem comum. Não permite valor nulo. |
group_id |
int |
ID do grupo de carga de trabalho a que pertence esta consulta. Não permite valor nulo. |
query_hash |
binary(8) |
Valor de hash binário calculado na consulta e usado para identificar consultas com lógica semelhante. Você pode usar o hash de consulta para determinar o recurso de agregação usado para consultas que são diferentes apenas nos valores literais. |
query_plan_hash |
binary(8) |
Valor de hash binário calculado no plano de execução de consulta e usado para identificar planos de execução de consulta semelhantes. Você pode usar o hash de plano de consulta para localizar o custo cumulativo de consultas com planos de execução semelhantes. |
statement_sql_handle |
varbinary(64) |
Aplica-se a: do SQL Server 2014 ao SQL Server 2014. Reservado para uso futuro. |
statement_context_id |
bigint |
Aplica-se a: do SQL Server 2014 ao SQL Server 2014. Reservado para uso futuro. |
Permissões
Requer a permissão VIEW SERVER STATE no servidor.
Dica
Se o usuário tiver a permissão VIEW SERVER STATE no servidor, verá todas as sessões em execução na instância do SQL Server; caso contrário, verá apenas a sessão atual.
Exemplos
A.Localizando o texto da consulta para um lote em execução
O exemplo a seguir consulta sys.dm_exec_requests para localizar a consulta interessante e copiar o sql_handle da saída.
SELECT * FROM sys.dm_exec_requests;
GO
Em seguida, para obter o texto da instrução, use o sql_handle copiado com a função do sistema sys.dm_exec_sql_text(sql_handle).
SELECT * FROM sys.dm_exec_sql_text(< copied sql_handle >);
GO
B.Localizando todos os bloqueios que estão sendo mantidos por um lote em execução
O exemplo a seguir consulta sys.dm_exec_requests para localizar o lote interessante e copiar o transaction_id da saída.
SELECT * FROM sys.dm_exec_requests;
GO
Em seguida, para localizar informações de bloqueio, use o transaction_id copiado com a função do sistema sys.dm_tran_locks.
SELECT * FROM sys.dm_tran_locks
WHERE request_owner_type = N'TRANSACTION'
AND request_owner_id = < copied transaction_id >;
GO
C.Localizando todas as solicitações bloqueadas atualmente
O exemplo a seguir consulta sys.dm_exec_requests para localizar informações sobre solicitações bloqueadas.
SELECT session_id ,status ,blocking_session_id
,wait_type ,wait_time ,wait_resource
,transaction_id
FROM sys.dm_exec_requests
WHERE status = N'suspended';
GO
Consulte também
Referência
Exibições e funções de gerenciamento dinâmico (Transact-SQL)
Funções e exibições de gerenciamento dinâmico relacionadas à execução (Transact-SQL)
sys.dm_os_memory_clerks (Transact-SQL)
sys.dm_os_sys_info (Transact-SQL)
sys.dm_exec_query_memory_grants (Transact-SQL)