sys.dm_tran_session_transactions (Transact-SQL)
Si applica a: SQL Server database SQL di Azure Istanza gestita di SQL di Azure azure Synapse Analytics Analytics Platform System (PDW)
Restituisce informazioni di correlazione per le sessioni e le transazioni associate.
Nota
Per chiamare questa operazione da Azure Synapse Analytics o da Platform System (PDW), usare il nome sys.dm_pdw_nodes_tran_session_transactions
. Questa sintassi non è supportata da pool SQL serverless in Azure Synapse Analytics.
Nome colonna | Tipo di dati | Descrizione |
---|---|---|
session_id | int | ID della sessione nella quale viene eseguita la transazione. |
transaction_id | bigint | ID della transazione. |
transaction_descriptor | binary(8) | Identificatore di transazione usato da SQL Server durante la comunicazione con il driver client. |
enlist_count | int | Numero di richieste attive nella sessione della transazione. |
is_user_transaction | bit | 1 = La transazione è stata iniziata da una richiesta utente. 0 = Transazione di sistema. |
is_local | bit | 1 = Transazione locale. 0 = Transazione distribuita o transazione di sessione associata integrata. |
is_enlisted | bit | 1 = Transazione distribuita integrata. 0 = Non è una transazione distribuita integrata. |
is_bound | bit | 1 = La transazione è attiva nella sessione tramite sessioni associate. 0 = La transazione non è attiva nella sessione tramite sessioni associate. |
open_transaction_count | int | Numero di transazioni aperte per ogni sessione. |
pdw_node_id | int | Si applica a: Azure Synapse Analytics, Piattaforma di analisi (PDW) Identificatore del nodo in cui è attiva la distribuzione. |
Autorizzazioni
In SQL Server e Istanza gestita di SQL è richiesta l'autorizzazione VIEW SERVER STATE
.
In database SQL obiettivi di servizio Basic, S0 e S1 e per i database nei pool elastici, è necessario l'account amministratore del server, l'account amministratore di Microsoft Entra o l'appartenenza al ruolo del ##MS_ServerStateReader##
server. Per tutti gli altri obiettivi di servizio database SQL, è necessaria l'autorizzazione VIEW DATABASE STATE
per il database o l'adesione ruolo del server ##MS_ServerStateReader##
.
Autorizzazioni per SQL Server 2022 e versioni successive
È richiesta l'autorizzazione VIEW SERVER PERFORMANCE STATE per il server.
Osservazioni:
È possibile che una transazione venga eseguita in più di una sessione tramite sessioni associate e transazioni distribuite. In questi casi, sys.dm_tran_session_transactions
mostra più righe per lo stesso transaction_id
, una per ogni sessione in cui è in esecuzione la transazione. A causa delle differenze nel modo in cui vengono registrate, open_transaction_count
potrebbe non corrispondere a sys.dm_exec_sessions
.open_transaction_count
.
Eseguendo più richieste in modalità autocommit e utilizzando MARS (Multiple Active Result Sets), è possibile che vi siano più transazioni attive in una singola sessione. In questi casi, sys.dm_tran_session_transactions
mostra più righe per lo stesso session_id
, una per ogni transazione in esecuzione in tale sessione.