Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL Analytics-eindpunt in Microsoft Fabric
Magazijn in Microsoft Fabric
SQL-database in Microsoft Fabric
De sys.dm_tran_active_transactions dynamische beheerweergave geeft informatie over transacties voor de instantie terug.
| Kolomnaam | Gegevenssoort | Description |
|---|---|---|
transaction_id |
bigint | ID van de transactie op instantieniveau, niet op databaseniveau. Het is alleen uniek over alle databases binnen een instantie, maar niet uniek over alle serverinstanties. |
name |
nvarchar(32) | Naam van de transactie. Dit wordt overschreven als de transactie gemarkeerd is en de gemarkeerde naam de transactienaam vervangt. |
transaction_begin_time |
datetime | Tijd dat de transactie begon. |
transaction_type |
int | Type transactie. 1 = Lees/schrijf-transactie 2 = Alleen-lezen transactie 3 = Systeemtransactie 4 = Gedistribueerde transactie |
transaction_uow |
uniqueidentifier | Transaction unit of work (UOW) identificatie voor gedistribueerde transacties. De Microsoft distributed transaction coordinator (MS DTC) gebruikt de UOW-identificatie om met de gedistribueerde transactie te werken. |
transaction_state |
int | 0 = De transactie is nog niet volledig geïnitialiseerd. 1 = De transactie is geïnitialiseerd maar niet gestart. 2 = De transactie is actief. 3 = De transactie is beëindigd. Gebruikt voor alleen-lezen transacties. 4 = Het commitproces is gestart op de gedistribueerde transactie. Alleen voor gedistribueerde transacties. De gedistribueerde transactie is nog steeds actief, maar verdere verwerking kan niet plaatsvinden. 5 = De transactie bevindt zich in een voorbereide toestand en wacht op een oplossing. 6 = De transactie is gecommitteerd. 7 = De transactie wordt teruggerold. 8 = De transactie is teruggedraaid. |
transaction_status |
int | Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd. |
transaction_status2 |
int | Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd. |
dtc_state |
int |
is van toepassing op: Azure SQL Database. 1 = ACTIEF 2 = VOORBEREID 3 = TOEGEWIJD 4 = AFGEBROKEN 5 = HERSTELD |
dtc_status |
int | Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd. |
dtc_isolation_level |
int | Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd. |
filestream_transaction_id |
varbinary(128) |
is van toepassing op: Azure SQL Database. Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd. |
pdw_node_id |
int |
Van toepassing op: Azure Synapse Analytics, Analytics Platform System (PDW) De id voor het knooppunt waarop deze distributie zich bevindt. |
Permissions
Voor SQL Server en SQL Managed Instance is een machtiging vereist VIEW SERVER STATE .
In Microsoft Fabric is lidmaatschap van de Contributor-workspacerol of de meer privilegede rol vereist om te kunnen queryënsys.dm_tran_active_transactions.
Voor servicedoelstellingen van SQL Database Basic, S0 en S1 en voor databases in elastische pools is het serverbeheerdersaccount , het Microsoft Entra-beheerdersaccount of het lidmaatschap van de ##MS_ServerStateReader##serverrol vereist. Voor alle andere SQL Database-servicedoelstellingen is de VIEW DATABASE STATE machtiging voor de database of het lidmaatschap van de ##MS_ServerStateReader## serverfunctie vereist.
Machtigingen voor SQL Server 2022 en hoger
Vereist de machtiging PRESTATIESTATUS VAN DE WEERGAVESERVER op de server.
Opmerkingen
Om deze dynamische beheerweergave van Azure Synapse Analytics of Analytics Platform System (PDW) aan te roepen, gebruik je de naam sys.dm_pdw_nodes_tran_active_transactions Deze syntax wordt niet ondersteund door serverless SQL pool in Azure Synapse Analytics.
Voorbeelden
Eén. Gebruik sys.dm_tran_active_transactions met andere DMV's om informatie te vinden over actieve transacties
Het volgende voorbeeld toont alle actieve transacties op het systeem. De query geeft gedetailleerde informatie over de transactie, de gebruikerssessie, de applicatie die is ingediend, de query die deze heeft gestart, en vele anderen.
SELECT
GETDATE() as now,
DATEDIFF(SECOND, transaction_begin_time, GETDATE()) as tran_elapsed_time_seconds,
st.session_id,
txt.text,
*
FROM
sys.dm_tran_active_transactions at
INNER JOIN sys.dm_tran_session_transactions st ON st.transaction_id = at.transaction_id
LEFT OUTER JOIN sys.dm_exec_sessions sess ON st.session_id = sess.session_id
LEFT OUTER JOIN sys.dm_exec_connections conn ON conn.session_id = sess.session_id
OUTER APPLY sys.dm_exec_sql_text(conn.most_recent_sql_handle) AS txt
ORDER BY
tran_elapsed_time_seconds DESC;