Есть ли где-нибудь, где я могу найти неудачные транзакции в SQL Server 2012?
10
Есть ли где-нибудь, где я могу найти неудачные транзакции в SQL Server 2012?
Нет, SQL Server не ведет никакой истории о транзакциях, которые были прерваны / откачены, что тривиально, чтобы добраться до и не создает дополнительных потенциальных проблем (как описано в ответе @ ooutwire ). Или даже транзакции, которые были совершены.
Вам придется вести свою собственную регистрацию в рамках обработки ошибок или захватывать определенные связанные с транзакциями события, используя трассировку на стороне сервера или расширенные события.
Трассировка:
Расширенные события:
Когда вы говорите «неудачные» транзакции, что именно вы имеете в виду?
Если вы хотите увидеть текущие транзакции в экземпляре, вы можете использовать
sys.dm_tran_active_transactions
DMV.Кроме того,
sys.dm_exec_sessions
есть,open_transaction_count
что может дать вам эту информацию по сеансу. Ниже приведен диагностический запрос для извлечения всех пользовательских процессов с открытыми транзакциями:Эта информация также может быть получена из
sys.dm_tran_session_transactions
:Если вы хотите получить данные об откате транзакций (принимая во внимание ваше желание «провалить» транзакции), вы можете захватить
rollback_tran_completed
событие расширенных событий . Если вы ищете «все» представление транзакций, вы можете захватитьsql_transaction
событие, которое, как определено SQL Server,источник
Вы можете использовать fn_dblog () и найти идентификаторы транзакций для прерванных транзакций, а также множество другой полезной информации.
Он сканирует весь журнал транзакций в активной части журнала. Это можно переопределить, используя флаг трассировки 2537, который позволит вам вернуться как можно дальше к началу самого старого «неиспользованного» VLF. Будьте осторожны при использовании этой функции, поскольку она сканирует журнал случайным образом и журнал не может измениться во время сканирования; Таким образом, вы можете увидеть рост журнала.
Вы также можете использовать fn_dump_dblog для резервного файла журнала.
источник