sys.dm_tran_database_transactions (Transact-SQL)

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Retourne les informations concernant les transactions au niveau de la base de données.

Remarque

Pour appeler cette DMV à partir d’Azure Synapse Analytics ou d’Analytics Platform System (PDW), utilisez le nom sys.dm_pdw_nodes_tran_database_transactions. Cette syntaxe n’est pas prise en charge par le pool SQL serverless dans Azure Synapse Analytics.

Nom de la colonne Type de données Description
transaction_id bigint ID de la transaction au niveau de l'instance, et non au niveau de la base de données. Il n'est unique que dans les bases de données d'une instance, pas dans toutes les instances du serveur.
database_id int ID de la base de données associée à la transaction.

Dans Azure SQL Database, les valeurs sont uniques au sein d’une base de données unique ou d’un pool élastique, mais pas dans un serveur logique.
database_transaction_begin_time datetime Heure à laquelle la base de données a été impliquée dans la transaction. Il s'agit plus précisément de l'heure du premier enregistrement de journal dans la base de données pour la transaction.
database_transaction_type int 1 = transaction en lecture/écriture

2 = transaction en lecture seule

3 = transaction système
database_transaction_state int 1 = la transaction n'a pas été initialisée.

3 = la transaction a été initialisée, mais n'a produit aucun enregistrement de journal.

4 = la transaction a produit des enregistrements de journal.

5 = la transaction a été préparée.

10 = la transaction a été validée.

11 = la transaction a été restaurée.

12 = la transaction est en cours de validation. (L’enregistrement du journal est généré, mais n’a pas été matérialisé ou conservé.)
database_transaction_status int Identifié à titre d'information uniquement. Non pris en charge. La compatibilité future n'est pas garantie.
database_transaction_status2 int Identifié à titre d'information uniquement. Non pris en charge. La compatibilité future n'est pas garantie.
database_transaction_log_record_count bigint S’applique à : SQL Server 2008 (10.0.x) et versions ultérieures.

Nombre d'enregistrements de journal produits dans la base de données pour la transaction.
database_transaction_replicate_record_count int S’applique à : SQL Server 2008 (10.0.x) et versions ultérieures.

Nombre d’enregistrements de journal générés dans la base de données pour la transaction répliquée.
database_transaction_log_bytes_used bigint S’applique à : SQL Server 2008 (10.0.x) et versions ultérieures.

Nombre d'octets utilisés jusqu'alors dans la base de données pour la transaction.
database_transaction_log_bytes_reserved bigint S’applique à : SQL Server 2008 (10.0.x) et versions ultérieures.

Nombre d'octets réservés à l'utilisation du journal de la base de données pour la transaction.
database_transaction_log_bytes_used_system int S’applique à : SQL Server 2008 (10.0.x) et versions ultérieures.

Nombre d'octets utilisés jusqu'alors dans le journal de la base de données pour les transactions système pour le compte de la transaction.
database_transaction_log_bytes_reserved_system int S’applique à : SQL Server 2008 (10.0.x) et versions ultérieures.

Nombre d'octets réservés à l'utilisation du journal de la base de données pour les transactions système pour le compte de la transaction.
database_transaction_begin_lsn numeric(25,0) S’applique à : SQL Server 2008 (10.0.x) et versions ultérieures.

Numéro séquentiel dans le journal (NSE) du premier enregistrement concernant la transaction dans le journal de la base de données.
database_transaction_last_lsn numeric(25,0) S’applique à : SQL Server 2008 (10.0.x) et versions ultérieures.

Numéro de séquence d'enregistrement (NSE) de l'enregistrement le plus récent concernant la transaction dans le journal de la base de données.
database_transaction_most_recent_savepoint_lsn numeric(25,0) S’applique à : SQL Server 2008 (10.0.x) et versions ultérieures.

Numéro de séquence d'enregistrement du plus récent point d'enregistrement pour la transaction dans le journal de la base de données.
database_transaction_commit_lsn numeric(25,0) S’applique à : SQL Server 2008 (10.0.x) et versions ultérieures.

Numéro de séquence d'enregistrement (NSE) de l'enregistrement du journal de validation concernant la transaction dans le journal de la base de données.
database_transaction_last_rollback_lsn numeric(25,0) S’applique à : SQL Server 2008 (10.0.x) et versions ultérieures.

Numéro de séquence d'enregistrement utilisé la dernière fois pour une restauration. Si aucune restauration n’a eu lieu, la valeur est MaxLSN.
database_transaction_next_undo_lsn numeric(25,0) S’applique à : SQL Server 2008 (10.0.x) et versions ultérieures.

Numéro de séquence d'enregistrement du prochain enregistrement à annuler.
pdw_node_id int S’applique à : Azure Synapse Analytics, Analytics Platform System (PDW)

Identificateur du nœud sur lequel cette distribution est activée.
database_transaction_first_repl_lsn numeric(25,0) S’applique à : Azure Synapse Analytics, Analytics Platform System (PDW)

LSN du premier enregistrement de journal dans la transaction qui a besoin de la réplication.

Autorisations

Sur SQL Server et SQL Managed Instance, l’autorisation VIEW SERVER STATE est requise.

Sur les objectifs de service SQL Database Basic, S0 et S1, et pour les bases de données dans des pools élastiques, le compte d’administrateur du serveur, le compte d’administrateur Microsoft Entra ou l’appartenance au ##MS_ServerStateReader##rôle serveur est requis. Sur tous les autres objectifs de service SQL Database, l’autorisation VIEW DATABASE STATE sur la base de données ou l’appartenance au rôle serveur ##MS_ServerStateReader## est requise.

Autorisations pour SQL Server 2022 (et versions plus récentes)

Nécessite l’autorisation VIEW SERVER PERFORMANCE STATE sur le serveur.

Étapes suivantes