Поделиться через


sys.dm_tran_database_transactions (Transact-SQL)

Применимо: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure azure Synapse Analytics Analytics Platform System (PDW)

Возвращает сведения о транзакциях на уровне базы данных.

Примечание.

Чтобы вызвать это динамическое представление из Azure Synapse Analytics или Analytics Platform System (PDW), используйте имя sys.dm_pdw_nodes_tran_database_transactions. Этот синтаксис не поддерживается бессерверным пулом SQL в Azure Synapse Analytics.

Имя столбца Тип данных Description
transaction_id bigint Идентификатор транзакции на уровне экземпляра, а не на уровне базы данных. Уникален в пределах баз данных экземпляра, но не уникален в пределах экземпляров сервера.
database_id int Идентификатор базы данных, связанной с транзакцией.

В База данных SQL Azure значения уникальны в одной базе данных или эластичном пуле, но не в логическом сервере.
database_transaction_begin_time datetime Момент времени, с которого база данных задействована в транзакции. Точнее, это время первой записи журнала в базе данных для данной транзакции.
database_transaction_type int 1 = транзакция чтения-записи

2 = транзакция только чтения

3 = системная транзакция
database_transaction_state int 1 = Транзакция не инициализирована.

3 = Транзакция инициализирована, но в ней еще не сформировано ни одной записи журнала.

4 = В транзакции имеются сформированные записи журнала.

5 = Транзакция подготовлена.

10 = Транзакция зафиксирована.

11 = Транзакция находится в процессе отката.

12 = Транзакция находится в стадии фиксации. (Создается запись журнала, но не материализована или сохранена.)
database_transaction_status int Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.
database_transaction_status2 int Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.
database_transaction_log_record_count bigint Применимо: SQL Server 2008 (10.0.x) и более поздних версий.

Число записей журнала, сформированных в базе данных для этой транзакции.
database_transaction_replicate_record_count int Применимо: SQL Server 2008 (10.0.x) и более поздних версий.

Количество записей журнала, созданных в базе данных для реплицируемой транзакции.
database_transaction_log_bytes_used bigint Применимо: SQL Server 2008 (10.0.x) и более поздних версий.

Число байтов, используемых журналом базы данных для данной транзакции.
database_transaction_log_bytes_reserved bigint Применимо: SQL Server 2008 (10.0.x) и более поздних версий.

Число байтов, зарезервированных в журнале базы данных для данной транзакции.
database_transaction_log_bytes_used_system int Применимо: SQL Server 2008 (10.0.x) и более поздних версий.

Число байтов, занятых в журнале базы данных для системных транзакций от имени данной транзакции.
database_transaction_log_bytes_reserved_system int Применимо: SQL Server 2008 (10.0.x) и более поздних версий.

Число байтов, зарезервированных в журнале базы данных для системных транзакций от имени данной транзакции.
database_transaction_begin_lsn numeric(25,0) Применимо: SQL Server 2008 (10.0.x) и более поздних версий.

Регистрационный номер транзакции в журнале (номер LSN) начальной записи для данной транзакции в журнале базы данных.
database_transaction_last_lsn numeric(25,0) Применимо: SQL Server 2008 (10.0.x) и более поздних версий.

Номер LSN последней сохраненной записи для данной транзакции в журнале базы данных.
database_transaction_most_recent_savepoint_lsn numeric(25,0) Применимо: SQL Server 2008 (10.0.x) и более поздних версий.

Номер LSN самой последней точки сохранения для данной транзакции в журнале базы данных.
database_transaction_commit_lsn numeric(25,0) Применимо: SQL Server 2008 (10.0.x) и более поздних версий.

Номер LSN записи фиксации для данной транзакции в журнале базы данных.
database_transaction_last_rollback_lsn numeric(25,0) Применимо: SQL Server 2008 (10.0.x) и более поздних версий.

Номер LSN транзакции в журнале, до которой произошел последний откат. Если откат не произошел, значение maxLSN.
database_transaction_next_undo_lsn numeric(25,0) Применимо: SQL Server 2008 (10.0.x) и более поздних версий.

Номер LSN следующей записи для отката.
pdw_node_id int Область применения: Azure Synapse Analytics, Analytics Platform System (PDW)

Идентификатор узла, на который находится данное распределение.
database_transaction_first_repl_lsn numeric(25,0) Область применения: Azure Synapse Analytics, Analytics Platform System (PDW)

LSN первой записи журнала в транзакции, для которой требуется репликация.

Разрешения

На SQL Server и управляемом экземпляре SQL необходимо разрешение VIEW SERVER STATE.

Для целей службы База данных SQL Basic, S0 и S1, а также для баз данных в эластичных пулах, учетной записи администратора сервера, учетной записи администратора Microsoft Entra или членства в ##MS_ServerStateReader## роли сервера требуется. Для всех остальных целей обслуживания базы данных SQL требуется разрешение VIEW DATABASE STATE в базе данных или членство в роли сервера ##MS_ServerStateReader##.

Разрешения для SQL Server 2022 и более поздних версий

Требуется разрешение VIEW SERVER PERFORMANCE STATE на сервере.

Следующие шаги