Condividi tramite


sys.dm_tran_session_transactions (Transact-SQL)

Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di AzureAzure Synapse AnalyticsPiattaforma di analisi (PDW)Endpoint di analisi SQL in Microsoft FabricMagazzino in Microsoft FabricDatabase SQL in Microsoft Fabric

La sys.dm_tran_session_transactions vista di gestione dinamica restituisce informazioni di correlazione per transazioni e sessioni associate.

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 Microsoft Fabric, è necessaria l'appartenenza al ruolo diworkspace Contributor o a un ruolo più privilegiato per interrogare sys.dm_tran_session_transactions.

Negli obiettivi del servizio Basic del Database SQL, S0 e S1 e per i database nei pool elastici, è richiesto l'account amministratore del server, l'account amministratore di Microsoft Entra o l’adesione nel ##MS_ServerStateReader## al ruolo del 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:

Attraverso sessioni vincolate e transazioni distribuite, è possibile che una transazione venga eseguita sotto più di una sessione. 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 potrebbero non corrisponderesys.dm_exec_sessions...open_transaction_count

Eseguendo più richieste in modalità autocommit usando più ensemble di risultati attivi (MARS), è possibile avere più di una transazione attiva 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.

Per chiamare da Azure Synapse Analytics o Analytics Platform System (PDW), usa il nome sys.dm_pdw_nodes_tran_session_transactions. Questa sintassi non è supportata da pool SQL serverless in Azure Synapse Analytics.