2014-12-01 2 views
0

Мне нужно создать ежедневную выписку по отдельным изменениям в наборе данных. Итак, есть 14 таблиц, содержащих информацию о продукте и клиенте, и в выписке должны отображаться только записи из каждой новой таблицы или записей, которые обновили любой столбец.Сообщите об изменениях в данных

Какой был бы лучший способ сделать это, пожалуйста?

Мы используем SQL Server 2008 R2 и разрабатываем на C#.

+0

Может быть [SQL Server Audit] (http://msdn.microsoft.com/en-us/library/cc280386%28v=sql.105%29.aspx) –

ответ

0

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

один из триггеров был:

CREATE TRIGGER [dbo].[programGroupProcedureCodeModRateDate_insdel] 
    ON [dbo].[programGroupProcedureCodeModRateDate] 
    AFTER insert, delete 
AS 
BEGIN 
    SET NOCOUNT ON; 
    insert into archive 
     select 
      procedureCodeModRate, 
      null as programGroup_svc, null as serviceID, null as serviceDesc, null as isExcludedFromIncreases, 
      null as unitID, 
      null as rateMaskID, null as programGroup_unpub, null as isUnpublished, 
      programGroup_rate, startID, Rate, isDiscontinued, comment, 
      getdate() as lastupdated, Current_User as lastUpdatedBy, 'i' as operation 
     from inserted 

    insert into archive 
     select 
      procedureCodeModRate, 
      null as programGroup_svc, null as serviceID, null as serviceDesc, null as isExcludedFromIncreases, 
      null as unitID, 
      null as rateMaskID, null as programGroup_unpub, null as isUnpublished, 
      programGroup_rate, startID, Rate, isDiscontinued, comment, 
      getdate() as lastupdated, Current_User as lastUpdatedBy, 'd' as operation 
     from deleted 
END 
0

Я бы установил триггер в другую таблицу, и любые вставки или обновления будут регистрироваться в другой таблице с измененным полем и когда произойдёт изменение.

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