Смею советовать против репликации в целом :) это, конечно, больше боли, чем веселья. Если вы можете себе позволить, посмотрите на Sync framework .
Игра с идентичностью не является гибкой, если не сказать больше. Попробуйте добавить движущиеся серверы. Вставка удостоверения, различные схемы и т. Д.
GUID будет в порядке для кластерного ключа, если вы использовали newsequentialid () в качестве значения по умолчанию. Это немного больше (количество бит), но это решает проблемы раз и навсегда:)
Я бы выбрал кластерный ключ int identity, который имеет отношение только к контексту базы данных. Затем добавьте столбец GUID, который имеет смысл для контекста синхронизации. Добавьте в столбец rowversion список того, что готово к синхронизации.