Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Длительная транзакция может быть одной из причин переполнения журнала. Во время длительной транзакции виртуальный журнал, содержащий первую запись транзакции, остается активным. Транзакция не может продолжаться в этом виртуальном файле.
Важно! |
|---|
| Очень длительная транзакция может привести к переполнению журнала транзакций. Дополнительные сведения о том, что нужно делать при переполнении журнала транзакций, см. в разделе Устранение неполадок при переполнении журнала транзакций (ошибка 9002). |
Обнаружение длительных транзакций
Длительные транзакции можно обнаружить следующими способами:
- sys.dm_tran_database_transactions
Данное динамическое административное представление возвращает сведения о транзакциях на уровне базы данных. Столбцы этого представления содержат сведения о времени первой записи журнала (database_transaction_begin_time), текущем состоянии транзакции (database_transaction_state) и регистрационном номере (LSN) первой записи в журнале транзакций (database_transaction_begin_lsn).
Дополнительные сведения см. в разделе sys.dm_tran_database_transactions. - DBCC OPENTRAN
Эта инструкция позволяет установить идентификатор владельца транзакции, таким образом, можно отследить источник транзакции для более упорядоченной остановки (фиксацией, а не откатом). Дополнительные сведения см. в разделе DBCC OPENTRAN (Transact-SQL).
Примечание. |
|---|
| Дополнительные сведения о других факторах, из-за которых усечение журнала может откладываться, см. в разделе Факторы, вызывающие задержку усечения журнала. |
Остановка транзакции
Может потребоваться применить инструкцию KILL. Ее следует использовать с осторожностью, особенно если запущены критические процессы. Дополнительные сведения см. в разделе KILL (Transact-SQL).
См. также
Основные понятия
Факторы, вызывающие задержку усечения журнала
Важно!