Реализовать таблицу истории - PullRequest
1 голос
/ 28 февраля 2012

Я хочу реализовать функциональность истории в моем приложении, но я хочу пропустить создание таблицы данных истории для каждой таблицы данных бизнес-объекта.

Я думал о создании одной таблицы данных истории, содержащей один столбец идентификаторов.и столбец XML с измененными данными, как указано ниже

ID: int
XML: Data
Name: data table name

Кто-то реализовал этот подход или вы видите какие-либо ограничения в этой архитектуре?

Ответы [ 2 ]

0 голосов
/ 28 февраля 2012

Я использовал измененную версию этой статьи - Добавление простого аудита на основе триггеров к вашей базе данных SQL Server - уже много лет.

В нем используются старые представления INFORMATION_SCHEMA с тех порон опирается на положение столбца, которое недоступно ни в одном из более новых DMV (например, sys.tables, sys.columns).Кроме этого он летает и работает как чудо.

Если производительность становится проблемой - и это редко - вы можете рассмотреть возможность использования Service Broker для реализации асинхронных триггеров для записи в таблицу истории.

0 голосов
/ 28 февраля 2012

Поскольку вы используете 2008, вы можете попробовать использовать Изменить сбор данных .

...