Отслеживание изменений данных в SQL Server 2008 Денис Резник Trainer, Microsoft Innovation Center Team Lead, LPP Soft MCITP, MCTS
План доклада Зачем это нужно? Триггеры OUTPUT Change Tracking Change Data Capture Аудит
Мобильные устройства
Хранилище данных DWOLTP
Контроль за изменениями CREATE TRIGGER … ?
Другие причины Хранение истории изменений Кэширование данных ?
Триггеры CREATE TRIGGER reminder ON Sales.Customer AFTER INSERT, UPDATE, DELETE AS EXEC = 'AdventureWorks2008R2 = 'Don''t forget to print a report for the sales = 'Reminder'; GO
Предложение OUTPUT table( EmpID int NOT NULL, OldVacationHours int, NewVacationHours int, ModifiedDate datetime); UPDATE HumanResources.Employee SET VacationHours = VacationHours * 1.25 OUTPUT INSERTED.BusinessEntityID, DELETED.VacationHours, INSERTED.VacationHours, INSERTED.ModifiedDate
Change Tracking Фиксирует только факт изменения строки, но не число изменений строки или значения промежуточных изменений Данные получаются непосредственно из отслеживаемой таблицы Изменения фиксируются синхронно с операцией изменения
Демо Change Tracking
Change Data Capture Регистрирует не только факт изменения данных, но и сами данные Сохраняет историю изменения данных Работает на основе анализа лога транзакций Фиксирование изменений происходит асинхронно
Демо Change Data Capture
Аудит Отслеживание и протоколирование событий, происходящих в системе Подсистема аудита SQL Server использует расширенные события Аудит работает на уровне экземпляра SQL Server и на уровне БД Данные сохраняются в Application Log Security Log Файл
Демо Настройка Аудита
Полезные ссылки Триггеры - ru/library/ms aspxhttp://msdn.microsoft.com/ru- ru/library/ms aspx Предложение OUTPUT - ru/library/ms aspxhttp://msdn.microsoft.com/ru- ru/library/ms aspx Change Tracking - ru/library/cc aspxhttp://msdn.microsoft.com/ru- ru/library/cc aspx Change Data Capture - ru/library/bb aspxhttp://msdn.microsoft.com/ru- ru/library/bb aspx Аудит - ru/library/cc aspxhttp://msdn.microsoft.com/ru- ru/library/cc aspx Сравнение Change Tracking и Change Data Capture -
Вопросы Денис Резник.Net Team Lead, LPP Soft Trainer, Microsoft Innovation Center MCITP – SQL Server 2008 Database development MCTS - ASP.NET 3.5 Web Application development MCTS - SQL Server 2008 Implementation and Maintenance