Как создать тип столбца locationID для обозначения того, какой сервер создал строку в репликации слиянием SQL Server? - PullRequest
1 голос
/ 01 июня 2010

Я хочу настроить репликацию слиянием между двумя серверами SQL Server 2008. Для первичного ключа я хотел бы использовать составной ключ: столбец идентификаторов плюс столбец, который будет обозначать, на каком сервере была создана строка (столбец locationID).

Есть идеи, как это сделать? Я не уверен, что вы могли бы использовать триггер или функцию для вставки значения по умолчанию каждый раз при вводе строки, но я читал, что этот метод возможен - просто не могу найти подробные инструкции о том, как именно это сделать. Спасибо за любую помощь или ссылки, которые вы можете предоставить!

Ответы [ 2 ]

0 голосов
/ 07 июня 2011

Вы можете добавить столбец varchar и установить его значение по умолчанию HOST_NAME(). Затем настройте имя хоста подписчика.

0 голосов
/ 01 июня 2010

В сценарии одноранговой репликации транзакций я использовал метод присвоения каждому серверу номера, который будет служить цифрой единицы начального числа идентификаторов. Затем увеличьте каждый идентификатор на десять вместо значения по умолчанию 1. Таким образом, идентификаторы, назначенные сервером 1, равны 1, 11, 21, 31, ..., а идентификаторы, назначенные сервером 2, равны 2, 12, 22, 32, ...

...