sys.dm_tran_session_transactions (Transact-SQL)
Renvoie les informations de corrélation des transactions et des sessions associées.
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. |
Autorisations
Nécessite l'autorisation VIEW SERVER STATE sur le serveur.
Notes
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.