sys.dm_tran_session_transactions (Transact-SQL)

S’applique à : ouiSQL Server (toutes les versions prises en charge) OuiAzure SQL Database OuiAzure SQL Managed Instance ouiAzure Synapse Analytics ouiParallel Data Warehouse

Renvoie les informations de corrélation des transactions et des sessions associées.

Notes

Pour appeler cette valeur à partir de Azure Synapse Analytics ou Parallel Data Warehouse , utilisez le nom sys.dm_pdw_nodes_tran_session_transactions.

Nom de la colonne Type de données Description
session_id int ID de la session dans laquelle la transaction est en cours d'exécution.
transaction_id bigint ID de la transaction.
transaction_descriptor Binary(8 ID de la transaction utilisé par SQL Server lors de la communication avec le pilote du client.
enlist_count int Nombre de requêtes actives dans la session qui effectue la transaction.
is_user_transaction bit 1 = La transaction a été lancée par une requête utilisateur.

0 = Transaction système.
is_local bit 1 = Transaction locale.

0 = Transaction distribuée ou transaction sur une session liée par une inscription.
is_enlisted bit 1 = Transaction distribuée inscrite.

0 = Transaction distribuée non inscrite.
is_bound bit 1 = La transaction est active sur la session par l'intermédiaire de sessions liées.

0 = La transaction n'est pas active sur la session par l'intermédiaire de sessions liées.
open_transaction_count Nombre de transactions ouvertes pour chaque session.
pdw_node_id int S’applique à: Azure Synapse Analytics , Parallel Data Warehouse

Identificateur du nœud sur lequel cette distribution se trouve.

Autorisations

Sur SQL Server , requiert l' VIEW SERVER STATE autorisation.
Sur SQL Database objectifs de service de base, S0 et S1, et pour les bases de données dans des pools élastiques, le compte d' administrateur de serveur ou le compte d' administrateur Azure Active Directory est requis. Pour tous les autres SQL Database objectifs de service, l' VIEW DATABASE STATE autorisation est requise dans la base de données.

Remarques

Par l'intermédiaire de sessions liées et distribuées, il est possible à une transaction de s'exécuter dans plusieurs sessions. Dans ces cas, les transactions sys.dm_tran_session_transactions affichent plusieurs lignes pour le même identificateur transaction_id : une pour chaque session dans laquelle la transaction s'exécute.

En exécutant plusieurs requêtes en mode validation automatique utilisant plusieurs ensembles de résultats actifs (MARS), il est possible d'avoir plusieurs transactions actives sur une seule session. Dans ces cas, les transactions sys.dm_tran_session_transactions affichent plusieurs lignes pour le même identificateur session_id : une pour chaque transaction qui s'exécute dans cette session.

Voir aussi

Fonctions et vues de gestion dynamique (Transact-SQL)
Fonctions et vues de gestion dynamique relatives aux transactions (Transact-SQL)