Разрешить не отслеживать отдельные столбцы в репликации слиянием - PullRequest
0 голосов
/ 23 февраля 2012

Используя Merge Replication, у меня есть таблица, которая по большей части синхронизируется нормально.Тем не менее, таблица содержит один столбец, который используется для хранения временных данных на стороне клиента, которые только осмысленно редактируются и используются на клиенте, и которые я не хочу реплицировать обратно на сервер.Например:

CREATE TABLE MyTable (
    ID           UNIQUEIDENTIFIER NOT NULL PRIMARY KEY,
    Name         NVARCHAR(200),
    ClientCode   NVARCHAR(100)
)

В этом случае, даже если подписчики вносят изменения в столбец ClientCode в таблице, я не хочу, чтобы эти изменения возвращались на сервер.Предлагает ли Merge Replication какие-либо средства для достижения этой цели?

Альтернативный подход, к которому я могу прибегнуть, состоит в публикации дополнительной таблицы и настройке ее на «Только для загрузки для подписчика», разрешающей изменения подписчика", а затем сослаться на MyTable.ID в этой таблице вместе с ClientCode.Но я бы предпочел не публиковать дополнительную таблицу, если мне это абсолютно не нужно.

Спасибо,

-Дан

1 Ответ

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

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

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

...