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.

Passaggi successivi