Могу ли я отслеживать записи базы данных с помощью SQL-запроса из файла журнала?

Мне нужно отслеживать изменения в записи в базе данных. У меня есть несколько триггеров для разных таблиц, которые вызывают одну хранимую процедуру, и этот sp обновляет записи в определенной таблице (table1).

Я буду отслеживать записи в таблице 1, чтобы узнать, когда и откуда данные были изменены.

На самом деле я использую sybase 12.5, и я бы знал, как читать файл журнала с помощью SQL-запроса на сервере sybase или sql.

Танкс :)


person Amir Borzoei    schedule 24.11.2009    source источник
comment
Как часто меняется эта таблица?   -  person VK_217    schedule 19.02.2016


Ответы (2)


Я не думаю, что мы можем читать журнал транзакций с помощью SQL-запроса, если нет таких инструментов, как Fog Light.

Насколько я знаю, мы можем использовать команду DBCC

ЖУРНАЛ DBCC([,{0|1|2|3|4}])

0 — основная информация журнала (по умолчанию)

1 - Подробная информация

2 - Очень длинная информация

3 - Детальный

4 - Полный

Кроме того, если это будет постоянный сценарий, я бы создал таблицу истории для проверки обновлений и удаления изменений. Надеюсь, я помог, извините, если я не отвечу на ваш вопрос.

person Tamil.SQL    schedule 24.11.2009
comment
tanx, хорошо, эта команда получает некоторые данные из журнала транзакций, но ее вывод находится в шестнадцатеричном формате и бесполезен :(. Я знаю, что сервер sql хранит версию данных до и после их изменения. Я хочу прочитать эти данные, сначала к данному моменту. - person Amir Borzoei; 24.11.2009

Я думаю, что единственный способ отслеживать изменения - это написать триггер...

person SergeyKazachenko    schedule 11.12.2009