Можно ли определить собственный механизм отслеживания с помощью схемы синхронизации Microsoft?

63
6

В настоящее время я оцениваю структуру синхронизации Microsoft как возможное решение для синхронизации данных между двумя базами данных SQL. В примерах, которые я видел до сих пор, полагаются на "таблицы отслеживания", содержащие информацию, используемую для отслеживания изменений, которые необходимо синхронизировать, с триггерами на основных таблицах, чтобы поддерживать их в актуальном состоянии.


В моей базе данных уже содержится много этой информации (для существующей функции программного обеспечения), поэтому было бы полезно использовать это, вместо того чтобы перенести все это на новые таблицы отслеживания. Мне также не нравятся идеи удвоения каждой таблицы в таблицу данных и таблицу отслеживания и добавление трех триггеров в каждую таблицу - похоже, что это может быть проблемой производительности?


Есть ли способ настройки механизма отслеживания, используемого средой синхронизации (т.е. способ отслеживания изменений)?

спросил(а) 2021-01-25T17:38:24+03:00 5 месяцев назад
1
Решение
63

Да, вполне возможно написать свою собственную логику, чтобы отслеживать изменения и использовать их. Напр. один из db syncproviders, который я использовал, требует, чтобы вы определяли команду selectincrementalinsert. Теперь, какая таблица (-ы), из которой поступают данные и как вы отфильтровываете последние записи, несущественна - вам просто нужно определить запрос или sp, который дает вам эти данные. Это относится ко всем другим инкрементальным sps (которые относятся к отслеживанию изменений)

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

ответил(а) 2021-01-25T17:38:24+03:00 5 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема