Возможность коллизии GUID в миграции MS CRM.

Мы осуществляем миграцию данных CRM, чтобы синхронизировать две системы CRM. И удаление данных истории из основного CRM. Target CRM был создан, взяв Source в качестве базы. Теперь, пока мы переносим данные, мы ведем записи, чтобы сохранить целостность данных. Это решение предполагает, что в целевых системах этот GUID должен быть доступен для назначения новой записи. Нет новых записей, созданных непосредственно в целевой системе, кроме электронных писем, число которых слишком мало. Но помимо этого существуют способы, которыми система создает свои ориентиры, например, когда мы перемещаем вновь созданную сущность в целевое решение с помощью Solution, она не будет поддерживать GUID сущности и атрибутов и будет создавать свою собственную, так как мы не можем контролировать это., Также некоторые из записей, которые создаются внутри, также будут создаваться платформой и назначаться новый GUID. Теперь, если у нас нет контроля над созданием guid в целевой системе (хотя число очень мало), я боюсь ситуации, когда Source System имеет guid, какая цель уже потреблена!! И во время переноса данных это даст ошибки. Мой вопрос, есть ли вероятность того, что выше может произойти? потому что, если это случится с нами, все решения по миграции потеряют свою ценность.

1 ответ

NEWID() SQL Server генерирует 128-битный идентификатор. Все идентификаторы, сгенерированные на одном и том же компьютере, гарантированно будут уникальными, но поскольку ваши идентификаторы были сгенерированы на нескольких компьютерах, гарантии нет.

Это, как говорится, из этого источника на GUID:

... чтобы вероятность дублирования составляла один на миллиард, необходимо сгенерировать 103 триллиона UUID версии 4.

Таким образом, ответ "да", есть вероятность столкновения, но он настолько астрономически низок, что большинство считают ответ "нет".

Другие вопросы по тегам