Udostępnij za pomocą


sys.dm_tran_database_transactions (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Punkt końcowy analizy SQL w usłudze Microsoft FabricHurtownia danych w usłudze Microsoft FabricBaza danych SQL w usłudze Microsoft Fabric

Widok sys.dm_tran_database_transactions dynamicznego zarządzania zwraca informacje o transakcjach na poziomie bazy danych.

Nazwa kolumny Typ danych Description
transaction_id bigint Identyfikacja transakcji na poziomie instancji, a nie bazy danych. Jest unikalny tylko we wszystkich bazach danych w instancji, ale nie jest unikalny dla wszystkich instancji serwera.
database_id int Identyfikator bazy danych powiązanej z transakcją.

W usłudze Azure SQL Database wartości są unikatowe w ramach pojedynczej bazy danych lub elastycznej puli, ale nie w obrębie serwera logicznego.
database_transaction_begin_time datetime Czas, w którym baza danych zaczęła uczestniczyć w transakcji. Konkretnie, jest to czas pierwszego zapisu w bazie danych dla transakcji.
database_transaction_type int 1 = Transakcja odczytu/zapisu

2 = Transakcja tylko do odczytu

3 = Transakcja systemowa
database_transaction_state int 1 = Transakcja nie została zainicjalizowana.

3 = Transakcja została zainicjalizowana, ale nie wygenerowała żadnych rekordów logów.

4 = Transakcja wygenerowała rekordy logów.

5 = Transakcja została przygotowana.

10 = Transakcja została zatwierdzona.

11 = Transakcja została cofnięta.

12 = Transakcja jest w trakcie realizacji. (Rejestr dziennika jest generowany, ale nie został zmaterializowany ani utrzymowany.)
database_transaction_status int Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana.
database_transaction_status2 int Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana.
database_transaction_log_record_count bigint Dotyczy: SQL Server 2008 (10.0.x) i nowsze wersje.

Liczba rekordów logów generowanych w bazie danych dla transakcji.
database_transaction_replicate_record_count int Dotyczy: SQL Server 2008 (10.0.x) i nowsze wersje.

Liczba rekordów logów generowanych w bazie danych dla replikowanej transakcji.
database_transaction_log_bytes_used bigint Dotyczy: SQL Server 2008 (10.0.x) i nowsze wersje.

Liczba bajtów użytych dotychczas w logu bazy danych dla transakcji.
database_transaction_log_bytes_reserved bigint Dotyczy: SQL Server 2008 (10.0.x) i nowsze wersje.

Liczba bajtów zarezerwowanych do wykorzystania w logu bazy danych dla transakcji.
database_transaction_log_bytes_used_system int Dotyczy: SQL Server 2008 (10.0.x) i nowsze wersje.

Liczba bajtów użytych dotychczas w logu bazy danych dla transakcji systemowych w imieniu transakcji.
database_transaction_log_bytes_reserved_system int Dotyczy: SQL Server 2008 (10.0.x) i nowsze wersje.

Liczba bajtów zarezerwowanych do wykorzystania w logu bazy danych dla transakcji systemowych w imieniu transakcji.
database_transaction_begin_lsn liczbowe (25 0) Dotyczy: SQL Server 2008 (10.0.x) i nowsze wersje.

Numer sekwencji logu (LSN) rekordu rozpoczęcia transakcji w logu bazy danych.
database_transaction_last_lsn liczbowe (25 0) Dotyczy: SQL Server 2008 (10.0.x) i nowsze wersje.

LSN najnowszego zarejestrowanego rekordu transakcji w logu bazy danych.
database_transaction_most_recent_savepoint_lsn liczbowe (25 0) Dotyczy: SQL Server 2008 (10.0.x) i nowsze wersje.

LSN najnowszego zapisu transakcji w logu bazy danych.
database_transaction_commit_lsn liczbowe (25 0) Dotyczy: SQL Server 2008 (10.0.x) i nowsze wersje.

LSN zapisu logu commitów dla transakcji w logu bazy danych.
database_transaction_last_rollback_lsn liczbowe (25 0) Dotyczy: SQL Server 2008 (10.0.x) i nowsze wersje.

LSN, które ostatnio zostało cofnięte z powrotem. Jeśli nie doszło do cofnięcia, wartość to MaxLSN.
database_transaction_next_undo_lsn liczbowe (25 0) Dotyczy: SQL Server 2008 (10.0.x) i nowsze wersje.

LSN następnego albumu do cofnięcia.
pdw_node_id int dotyczy: Azure Synapse Analytics, Analytics Platform System (PDW)

Identyfikator węzła, w ramach którego znajduje się ta dystrybucja.
database_transaction_first_repl_lsn liczbowe (25 0) dotyczy: Azure Synapse Analytics, Analytics Platform System (PDW)

LSN pierwszego zapisu loga w transakcji, który wymaga replikacji.

Permissions

W programie SQL Server i usłudze SQL Managed Instance wymagane jest VIEW SERVER STATE uprawnienie.

W Microsoft Fabric, do zapytań sys.dm_tran_database_transactionswymagane jest członkostwo w roliWspółtwórcy lub bardziej uprzywilejowanej roli .

W przypadku celów usługi SQL Database Basic, S0 i S1 oraz baz danych w elastycznych pulach wymagane jest konto administratora serwera , konto administratora firmy Microsoft Entra lub członkostwo w ##MS_ServerStateReader##roli serwera . We wszystkich innych celach usługi SQL Database wymagane VIEW DATABASE STATE jest uprawnienie do bazy danych lub członkostwo w ##MS_ServerStateReader## roli serwera.

Uprawnienia dla programu SQL Server 2022 i nowszych

Wymaga uprawnienia WYŚWIETL STAN WYDAJNOŚCI SERWERA na serwerze.

Uwagi

Aby wywołać ten DMV z Azure Synapse Analytics lub Analytics Platform System (PDW), użyj nazwy sys.dm_pdw_nodes_tran_database_transactions Ta składnia nie jest obsługiwana przez serwerless pool SQL w Azure Synapse Analytics.