sys.dm_exec_requests (Transact-SQL)

Restituisce informazioni su ciascuna richiesta in esecuzione all'interno di SQL Server.

[!NOTA]

Per eseguire codice esterno a SQL Server, ad esempio stored procedure estese e query distribuite, è necessario che un thread venga eseguito esternamente al controllo dell'utilità di pianificazione in modalità non preemptive. A tale scopo, un thread di lavoro passa alla modalità preemptive. I valori temporali restituiti da questa vista a gestione dinamica non includono il tempo trascorso in modalità preemptive.

Nome colonna

Tipo di dati

Descrizione

session_id

smallint

ID della sessione a cui la richiesta è correlata. Non ammette valori Null.

request_id

int

ID della richiesta. Valore univoco nel contesto della sessione. Non ammette valori Null.

start_time

datetime

Timestamp relativo all'arrivo della richiesta. Non ammette valori Null.

status

nvarchar(30)

Stato della richiesta. I possibili valori sono i seguenti:

  • In background

  • In esecuzione

  • Eseguibile

  • Inattivo

  • Sospeso

Non ammette valori Null.

command

nvarchar(16)

Identifica il tipo di comando corrente in corso di elaborazione. I tipi di comandi più comuni sono i seguenti:

  • SELECT

  • INSERT

  • UPDATE

  • DELETE

  • BACKUP LOG

  • BACKUP DB

  • DBCC

  • WAITFOR

Per recuperare il testo della richiesta, utilizzare sys.dm_exec_sql_text con il valore sql_handle corrispondente per la richiesta. I processi interni di sistema impostano il comando in base al tipo di attività eseguita. Le attività sono le seguenti:

  • LOCK MONITOR

  • CHECKPOINTLAZY

  • WRITER

Non ammette valori Null.

sql_handle

varbinary(64)

Mappa hash del testo SQL della richiesta. Non ammette valori Null.

statement_start_offset

int

Numero di caratteri nella stored procedure o nel batch attualmente in esecuzione in cui inizia l'istruzione in esecuzione. Può essere utilizzata in combinazione con la colonna sql_handle, la colonna statement_end_offset e la funzione a gestione dinamica sys.dm_exec_sql_text per recuperare l'istruzione in esecuzione per la richiesta. Ammette valori Null.

statement_end_offset

int

Numero di caratteri nella stored procedure o nel batch attualmente in esecuzione in cui termina l'istruzione in esecuzione. Può essere utilizzata in combinazione con la colonna sql_handle, la colonna statement_end_offset e la funzione a gestione dinamica sys.dm_exec_sql_text per recuperare l'istruzione in esecuzione per la richiesta. Ammette valori Null.

plan_handle

varbinary(64)

Mappa hash del piano per l'esecuzione SQL. Ammette valori Null.

database_id

smallint

ID del database utilizzato per eseguire la richiesta. Non ammette valori Null.

user_id

int

ID dell'utente che ha inviato la richiesta. Non ammette valori Null.

connection_id

uniqueidentifier

ID della connessione nella quale è arrivata la richiesta. Ammette valori Null.

blocking_session_id

smallint

ID della sessione che sta bloccando la richiesta. Se questa colonna è NULL, la richiesta non è bloccata oppure non sono disponibili o identificabili informazioni di sessione per la sessione da cui è bloccata.

-2 = La risorsa di blocco appartiene a una transazione distribuita orfana.

-3 = La risorsa di blocco appartiene a una transazione di recupero posticipata.

-4 = Al momento non è stato possibile determinare l'ID di sessione del proprietario del latch di blocco a causa di transizioni nello stato del latch interno.

wait_type

nvarchar(60)

Se la richiesta è momentaneamente bloccata, questa colonna restituisce il tipo di attesa. Ammette valori Null.

wait_time

int

Se la richiesta è momentaneamente bloccata, questa colonna restituisce la durata dell'attesa corrente espressa in millisecondi. Non ammette valori Null.

last_wait_type

nvarchar(60)

Se la richiesta è stata precedentemente bloccata, questa colonna restituisce il tipo dell'ultima attesa. Non ammette valori Null.

wait_resource

nvarchar(256)

Se la richiesta è momentaneamente bloccata, questa colonna restituisce la risorsa per la quale la richiesta è in attesa. Non ammette valori Null.

open_transaction_count

int

Numero di transazioni aperte per la richiesta. Non ammette valori Null.

open_resultset_count

int

Numero di set di risultati aperti per la richiesta. Non ammette valori Null.

transaction_id

bigint

ID della transazione nella quale viene eseguita la richiesta. Non ammette valori Null.

context_info

varbinary(128)

Valore di CONTEXT_INFO della sessione. Ammette valori Null.

percent_complete

real

Percentuale di lavoro completata per i comandi seguenti:

  • ALTER INDEX REORGANIZE

  • Opzione AUTO_SHRINK con ALTER DATABASE

  • BACKUP DATABASE

  • CREATE INDEX

  • DBCC CHECKDB

  • DBCC CHECKFILEGROUP

  • DBCC CHECKTABLE

  • DBCC INDEXDEFRAG

  • DBCC SHRINKDATABASE

  • DBCC SHRINKFILE

  • KILL (Transact-SQL)

  • RESTORE DATABASE,

  • UPDATE STATISTICS.

Non ammette valori Null.

estimated_completion_time

bigint

Solo per uso interno. Non ammette valori Null.

cpu_time

int

Tempo della CPU utilizzato dalla richiesta, espresso in millisecondi. Non ammette valori Null.

total_elapsed_time

int

Tempo totale, in millisecondi, trascorso dall'arrivo della richiesta. Non ammette valori Null.

scheduler_id

int

ID dell'utilità di pianificazione che sta pianificando la richiesta. Non ammette valori Null.

task_address

varbinary(8)

Indirizzo di memoria allocato all'attività associata alla richiesta. Ammette valori Null.

reads

bigint

Numero di letture eseguite dalla richiesta. Non ammette valori Null.

writes

bigint

Numero di scritture eseguite dalla richiesta. Non ammette valori Null.

logical_reads

bigint

Numero di letture logiche eseguite dalla richiesta. Non ammette valori Null.

text_size

int

Impostazione di TEXTSIZE per la richiesta. Non ammette valori Null.

language

nvarchar(128)

Impostazione di LANGUAGE per la richiesta. Ammette valori Null.

date_format

nvarchar(3)

Impostazione di DATEFORMAT per la richiesta. Ammette valori Null.

date_first

smallint

Impostazione di DATEFIRST per la richiesta. Non ammette valori Null.

quoted_identifier

bit

1 = QUOTED_IDENTIFIER è impostata su ON per la richiesta. Negli altri casi è 0.

Non ammette valori Null.

arithabort

bit

1 = ARITHABORT è impostata su ON per la richiesta. Negli altri casi è 0.

Non ammette valori Null.

ansi_null_dflt_on

bit

1 = ANSI_NULL_DFLT_ON è impostata su ON per la richiesta. Negli altri casi è 0.

Non ammette valori Null.

ansi_defaults

bit

1 = ANSI_DEFAULTS è impostata su ON per la richiesta. Negli altri casi è 0.

Non ammette valori Null.

ansi_warnings

bit

1 = ANSI_WARNINGS è impostata su ON per la richiesta. Negli altri casi è 0.

Non ammette valori Null.

ansi_padding

bit

1 = ANSI_PADDING è impostata su ON per la richiesta.

Negli altri casi è 0.

Non ammette valori Null.

ansi_nulls

bit

1 = ANSI_NULLS è impostata su ON per la richiesta. Negli altri casi è 0.

Non ammette valori Null.

concat_null_yields_null

bit

1 = CONCAT_NULL_YIELDS_NULL è impostata su ON per la richiesta. Negli altri casi è 0.

Non ammette valori Null.

transaction_isolation_level

smallint

Livello di isolamento con cui è stata creata la transazione per questa richiesta. Non ammette valori Null.

lock_timeout

int

Periodo di timeout del blocco, espresso in millisecondi, per la richiesta. Non ammette valori Null.

deadlock_priority

int

Impostazione di DEADLOCK_PRIORITY per la richiesta. Non ammette valori Null.

row_count

bigint

Numero di righe restituite al client dalla richiesta. Non ammette valori Null.

prev_error

int

Ultimo errore che si è verificato durante l'esecuzione della richiesta. Non ammette valori Null.

nest_level

int

Livello di nidificazione corrente del codice eseguito nella richiesta. Non ammette valori Null.

granted_query_memory

int

Numero di pagine allocate all'esecuzione di una query nella richiesta. Non ammette valori Null.

executing_managed_code

bit

Indica se una richiesta specifica sta eseguendo oggetti CLR (Common Language Runtime), come routine, tipi e trigger. Il valore rimane impostato per l'intero periodo di permanenza di un oggetto CLR nello stack, anche durante l'esecuzione di istruzioni Transact-SQL internamente a CLR. Non ammette valori Null.

group_id

int

ID del gruppo del carico di lavoro a cui appartiene la query. Non ammette valori Null.

query_hash

binary(8)

Valore hash binario calcolato sulla query che consente di identificare query con logica analoga. È possibile utilizzare il valore hash della query per determinare l'utilizzo delle risorse aggregate per query che differiscono solo per valori letterali. Per ulteriori informazioni, vedere Ricerca e ottimizzazione di query analoghe tramite valori hash della query e del piano di query.

query_plan_hash

binary(8)

Valore hash binario calcolato sul piano di esecuzione di query che consente di identificare piani di esecuzioni analoghi. È possibile utilizzare il valore hash di query per individuare il costo cumulativo di query con piani di esecuzione analoghi. Per ulteriori informazioni, vedere Ricerca e ottimizzazione di query analoghe tramite valori hash della query e del piano di query.

Autorizzazioni

È richiesta l'autorizzazione VIEW SERVER STATE nel server.

[!NOTA]

Se si dispone dell'autorizzazione VIEW SERVER STATE per il server, è possibile visualizzare tutte le sessioni in esecuzione nell'istanza di SQL Server. In caso contrario, è possibile visualizzare solo la sessione corrente.