Отслеживание изменений в корпоративной базе данных SQL Server - Как отслеживать изменения в SQL Server 2005

ОГЛАВЛЕНИЕ

Как отслеживать изменения в SQL Server 2005

В случае SQL Server 2005 (и предыдущих версий SQL Server) простого, фиксированного решения нет. Так что для этих платформ разработчикам приходится создавать собственные решения под свои приложения, обычно включающие столбцы временных меток, триггеры DML (языка манипулирования данными ) и дополнительные таблицы. Однако эти решения предоставляют ряд потенциальных проблем. Например:

  • Добавление столбцов временных меток заставляет измениться схему таблицы (с возможными эффектами домино в сохраненных процедурах и прочем коде).
  • Триггер DML неявно является частью транзакции, содержащей DML, которой он инициируется, так что его время исполнения увеличит длину транзакции. Чем сложнее триггер, тем больше времени у него уйдет на исполнение и тем выше будет негативный эффект для производительности рабочей нагрузки. Триггерам DML, используемым для отслеживания изменений, необходимо обработать вставленные и измененные таблицы, чтобы собрать все изменения и затем вставить их в другую таблицу отслеживания.
  • Таблица отслеживания должна управляться тем или иным образом, чтобы избежать ее неконтролируемого разрастания, которое может потребовать создания чего-то вроде задания агента для периодического отсева старых данных.