А если попробовать прописать триггеры, которые будут вносить нужную информацию в специальную таблицу?
Пусть есть таблица Log, в которую будем заносить информацию об измененных и добавленных строках.
В ней есть столбцы:
ID-первичный ключ таблицы,
login-имя пользователя БД,
date-время изменения БД
action-изменение/добавление,
table-имя таблицы, в которой произошли изменения,
record_id-номер добавленной или измененной записи.
Теперь пишем триггер. Например для таблицы Table:
Код:
Create trigger dbo.TR_table ON dbo.Table
After INSERT, UPDATE
AS
BEGIN
INSERT INTO Log Values(...)
END
Вот по этой строке
Код:
INSERT INTO Log Values(...)
возникают вопросы:
1). Как выловить номер последней записи в таблице Log и передать его как параметр+1 в триггер?
2). Есть ли стандартная переменная, хранящая имя текущего пользователя БД?
3). Поле action таблицы Log должно содержать значение "изменен", если триггер сработал на Update и "добавлен"-на Insert. Где-то запоминается на какое событие сработал триггер?
4). Как передать в триггер номер измененной/добавленной записи?