2009-12-31 2 views

ответ

2

Если вы не записываете эту информацию где-нибудь с помощью триггера, вам нужно будет каким-то образом просмотреть информацию в журнале транзакций. Для этого есть коммерческие инструменты, такие как Lumigent.

+0

Является ли в журнале транзакций то же, что и при доступе к журналу DBCC ({Таблица}, type = [1 | 2 | 3 | 4])? – mkamowski

2

Вы можете использовать триггер

Создать триггер на столе, наблюдая за вставки, обновления и удаления). Триггер будет вставляться в другую таблицу (таблицу истории).

Это добавляет дополнительные накладные расходы, поэтому я бы не сделал этого на действительно сильно обновленной таблице.

Посмотрите на this page на примере того, как это делается.

This page имеет код, который генерирует код аудита для вас.

Here is another SOF question о себе используя триггеры.

1

Помимо использования триггера вы можете сделать что-то вроде добавления столбца с именем «InsertedDate» и записать там текущую дату. Тем не менее, это потребует, чтобы вы делали свои вставки с помощью хранимой процедуры.

+2

Это не требует хранимой процедуры. Если вы сделаете это, лучше всего использовать ограничение, чтобы всегда вводить текущую дату. – HLGEM

2

Если вы используете SQL Server 2008, вы можете использовать новую функцию «Захват данных данных». Это избавит вас от необходимости писать триггеры на всех ваших таблицах.

2

В течение 2008 года используются триггеры, для 2008 вы можете использовать change data capture.

Смежные вопросы