Проблемы репликации первичного ключа типа int в SQL 2000

Vasya
Дата: 16.03.2001 17:39:16
Кто-нибудь обладает опытом в таком деле?

Допустим есть таблица с первичным ключем типа int.
Настроена merge-репликация между двумя SQL2000. Два пользователя одновременно на двух серверах добавляют запись, как сработает репликация?
В SQL 7.0 выживала запись сервера с более высоким приоритетом, другая удалялась. Именно из-за этого приходится использовать uniqueidentifier(тогда обе записи выживают) вместо int, а это не очень удобно.
Garya
Дата: 16.03.2001 19:26:25
Не совсем корректно поставлен вопрос, хотя суть, в общем-то ясна. Дело не в том, int или uniqueidentifier, а в том, как добиться разных идентификаторов на разных серверах, чтобы не возникало конфликтов репликации. Использование uniqueidentifier вместо int - это только один вариант. Второй вариант - использование int с Identity с разными SEED на разных серверах. Третий вариант - вообще не использовать Identity, а вместо него задействовать собственный механизм присвоения нового идентификатора. Четвертый вариант - использовать составной первичный ключ, первое поле Identity - второе - номер сервера. Пятый вариант - вместо Merge-репликации использовать репликацию непосредственно-обновляемых подписчиков (в совокупности с собственным механизмом вычисления нового номера ID).
Версия SQL эту ситуацию в принципе изменить не может.