我们正在进行CRM数据迁移,以保持两个CRM系统同步。并从主CRM中删除历史数据。目标CRM是以Source为基础创建的。现在,当我们迁移数据时,我们会保留记录,同样为了保持数据完整性。此解决方案期望在目标系统中GUID必须可用于分配给新记录。除了电子邮件之外,目标系统中没有直接创建新记录,数量太少。但除此之外,还有一些系统创建其guid的方法,例如当我们使用Solution将新创建的实体移动到目标解决方案时,它将不会维护实体和属性的GUID并将创建自己的GUID,因为我们无法控制它。此外,内部创建的一些记录也将由平台创建并分配新的GUID。现在,如果我们无法控制目标系统中的guid创建(尽管数量很小),我担心Source System有guid哪个目标已经消耗的情况!在数据迁移时,它会产生错误。 我的问题是否有可能发生上述情况?因为如果发生这种情况,整个迁移解决方案将失去其价值。
答案 0 :(得分:3)
SQL Server NEWID()生成128位ID。在同一台机器上生成的所有ID都保证是唯一的,但由于您的机器人是在多台机器上生成的,因此无法保证。
话虽如此,来自GUID上的this source:
......因为有十亿分之一的重复机会,必须生成103万亿版本的4个UUID。
所以答案是肯定的,有可能发生碰撞,但是它很低,大多数人认为答案实际上是否定的。