Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Организация истории изменений данных в таблицах бд  [new]
blond_candy
Member

Откуда:
Сообщений: 17
Здравствуйте, уважаемые форумчане!
Вот возникла необходимость сохранять историю изменений данных в таблице. Думаю над вариантами - триггеры, Change Tracking...
Посоветуйте, пожалуйста, как правильно организовать ведение истории изменения данных, что лучше использовать (sql server 2012).
Заранее признательна за помощь
7 авг 15, 16:59    [17990296]     Ответить | Цитировать Сообщить модератору
 Re: Организация истории изменений данных в таблицах бд  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31371
blond_candy
Вот возникла необходимость сохранять историю изменений данных в таблице. Думаю над вариантами - триггеры, Change Tracking...
Посоветуйте, пожалуйста, как правильно организовать ведение истории изменения данных, что лучше использовать (sql server 2012).
Поищите на форуме, тут были обсуждения.
Можно использовать Change Tracking, но там какие то недостатки, как минимум, возможно, что не вся информация будет, которая вам нужна.
Или можно использовать таблицы логов и триггеры. По таблице лога на каждую логируемую таблицу, триггер на UPDATE/DELETE, записывать содержимое таблицы deleted
7 авг 15, 17:08    [17990360]     Ответить | Цитировать Сообщить модератору
 Re: Организация истории изменений данных в таблицах бд  [new]
хмхмхм
Guest
blond_candy,

Если исторические данные не нужны, а нужен только факт изменения - ChangeTracking
Если исторические данные нужны - Change Data Capture (он в версии Enterprise)

Триггеры тоже можно использовать, но при любом изменении таблицы придется вносить изменение в таблицу архив, в триггер и т.п.


Что лучше использовать - решайте сами исходя из возможностей, минусов и плюсов.
7 авг 15, 17:09    [17990363]     Ответить | Цитировать Сообщить модератору
 Re: Организация истории изменений данных в таблицах бд  [new]
blond_candy
Member

Откуда:
Сообщений: 17
Буду писать триггеры - нужна история...Change Data Capture не могу использовать, так как версия Standart Edition.
Всем спасибо!
7 авг 15, 22:42    [17991676]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Организация истории изменений данных в таблицах бд  [new]
McCar
Member

Откуда: Саратов
Сообщений: 775
Всем привет.
Возник такой же вопрос как у топик-стартера, то есть нужно хранить историю изменений данных.
Поделитесь пожалуйста опытом и/или ссылками, с информацией к размышлению, актуальной на данный момент.
Сервер - Microsoft SQL Server 2016 (SP1) Enterprise Edition.

CDC, триггеры, или что-то еще?
CDC vs trigges тезисно описано здесь SQL Server 2008 change data capture vs triggers in audit trail.
Что то новое с тех пор появилось?
Спасибо.
2 июл 18, 11:55    [21536313]     Ответить | Цитировать Сообщить модератору
 Re: Организация истории изменений данных в таблицах бд  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
McCar,

ну новое это
https://www.mssqltips.com/sqlservertip/4674/managing-temporal-table-history-in-sql-server-2016/
но что и как не пользовался
2 июл 18, 12:01    [21536324]     Ответить | Цитировать Сообщить модератору
 Re: Организация истории изменений данных в таблицах бд  [new]
aleksrov
Member

Откуда:
Сообщений: 948
TaPaK,

Я пробывал на тесте. Штука интересная, но:
- Нужно менять структуру таблицы, если это вендор то могут быть проблемы.
- Немного медленее могут происходить изменение\удаление данных. Ну как медленее, когда мы к примеру удаляем строку из основной табл. то она должна вставиться в history.
В целом для нас самая большая проблема это 1 пункт был, в общем попробуйте сами.
2 июл 18, 12:56    [21536476]     Ответить | Цитировать Сообщить модератору
 Re: Организация истории изменений данных в таблицах бд  [new]
McCar
Member

Откуда: Саратов
Сообщений: 775
TaPaK
McCar,

ну новое это
https://www.mssqltips.com/sqlservertip/4674/managing-temporal-table-history-in-sql-server-2016/
но что и как не пользовался

Temporal tables - как я понял, нужно было изначально делать.
А тут уже готовая база, над которой живет рабочее приложение, поэтому глобально менять метаданные никто не даст.
2 июл 18, 13:01    [21536493]     Ответить | Цитировать Сообщить модератору
 Re: Организация истории изменений данных в таблицах бд  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
McCar
TaPaK
McCar,

ну новое это
https://www.mssqltips.com/sqlservertip/4674/managing-temporal-table-history-in-sql-server-2016/
но что и как не пользовался

Temporal tables - как я понял, нужно было изначально делать.
А тут уже готовая база, над которой живет рабочее приложение, поэтому глобально менять метаданные никто не даст.

открывать ссылку не будем?
2 июл 18, 13:05    [21536509]     Ответить | Цитировать Сообщить модератору
 Re: Организация истории изменений данных в таблицах бд  [new]
ЛиП
Member

Откуда:
Сообщений: 348
cdc нормально с этим справляется
2 июл 18, 13:05    [21536510]     Ответить | Цитировать Сообщить модератору
 Re: Организация истории изменений данных в таблицах бд  [new]
boltnik
Member

Откуда: Калуга/Москва
Сообщений: 144
Делали через триггера insert, update, delete.
2 июл 18, 13:15    [21536543]     Ответить | Цитировать Сообщить модератору
 Re: Организация истории изменений данных в таблицах бд  [new]
McCar
Member

Откуда: Саратов
Сообщений: 775
TaPaK
McCar
пропущено...

Temporal tables - как я понял, нужно было изначально делать.
А тут уже готовая база, над которой живет рабочее приложение, поэтому глобально менять метаданные никто не даст.

открывать ссылку не будем?

Открыл.
Спасибо.
2 июл 18, 14:30    [21536791]     Ответить | Цитировать Сообщить модератору
 Re: Организация истории изменений данных в таблицах бд  [new]
Glebanski
Member

Откуда: Msk ->NL
Сообщений: 308
Temporal tables тема модная, и походу все главные ДБ-вендоры эту фичу подобавляли.
Казалось бы, вот тебе и архивация исходных данных и SCD2.
Но я так и не понял, как можно туда не добавить что-то сверху, а вставить посередке. Типа "фальсификации истории" (тоже модно щас) . В ХД такие фокусы как запоздалая доставка старых данных - дело вполне обычное.
5 июл 18, 16:24    [21546659]     Ответить | Цитировать Сообщить модератору
 Re: Организация истории изменений данных в таблицах бд  [new]
ЛиП
Member

Откуда:
Сообщений: 348
Glebanski,
сравнивай
автор
В докладе мы подробно рассмотрим эту технологию, поговорим о преимуществах от её использования на примере реальных задач.
Сравним с другими способами отслеживания изменений, такими, как логирование с помощью DML-триггеров, Change Tracking (CT) и Change Data Capture (CDC).

5 июл 18, 16:57    [21546773]     Ответить | Цитировать Сообщить модератору
 Re: Организация истории изменений данных в таблицах бд  [new]
iap
Member

Откуда: Москва
Сообщений: 46983
Можно и по-старинке:

https://www.sql.ru/articles/mssql/2005/030701changeslogging.shtml
5 июл 18, 17:28    [21546886]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить