Учитывая вашу базу данных в полном выздоровлении Model.You может объединить все резервные копии журнала транзакций, сделанные в день, и это ... Запрос
SELECT
CASE
WHEN OPERATION='LOP_ABORT_XACT' THEN 'COMMITS'
ELSE 'ROLLBACKS' END AS 'OPERATIONS'
,COUNT(*) AS CNT
FROM FN_DBLOG(NULL,NULL) WHERE OPERATION IN ('LOP_COMMIT_XACT','LOP_ABORT_XACT')
GROUP BY OPERATION
Я сделал несколько тестов, используя некоторые выборочные данные ..
Begin tran test1
insert into t1
select 3
rollback
Выход:
Operations cnt
Commits 3
RollBacks 4
Дополнение за комментарии:
Чтение журнала транзакций Резервное копирование может быть дорогим, я рекомендую вам сделать это на резервное копирование, принятых и не на активный журнал ..doing это на активном TLOG может иметь ниже эффектов
1.Since это делает Log Scan, Transaction log truncation will be prevented
2.Huge IO нагрузки на сервер в зависимости от вашего журнала резервного копирования Размер, since the output of ::fn_dblog can easily go into millions of rows
Ссылки:
http://rusanu.com/2014/03/10/how-to-read-and-interpret-the-sql-server-log/
https://blogs.msdn.microsoft.com/dfurman/2009/11/05/reading-database-transaction-log-with-fn_dump_dblog/
Это не плохо ideea за с, но считает, что чтение назад журнала, на даже умеренную нагрузку на сервере, будет * довольно * дорого. –
Это правда, я бы добавил больше, чтобы уточнить это – TheGameiswar
Спасибо, что работает отлично. Я просто сделаю небольшую работу, чтобы выполнить ее на восстановленной версии. –