同步SQL Server数据库 - GUID或不GUID

时间:2015-03-24 22:33:34

标签: sql-server sync

我正在使用旧应用程序并创建一个完整的新版本。我将使用SQL Server作为本地和远程数据库。为了让本地和远程数据库保持同步,我将编写一个同步过程...

可能会使用Microsoft Sync Framework或其他自定义内容......这是以后的问题。

当前版本的数据库使用带有自动增量的int主键值。由于PK重复的可能性,保持同步更改的坏消息。

为了解决这个问题,我看到了两个基本选项:

1)根据int ID值+源创建一个新PK(如“local”或“remote_db_name”)

2)将PK切换到GUID

我在两者中看到了否定,但我倾向于GUID ...这意味着使用大量脚本进行痛苦的数据转换,以及可能的慢速索引问题......

阅读this post之后我想知道我是否应该做某种组合,比如使用GUID进行同步,但是其他所有内容的“组合键”?这可能是浪费......

我错过了替代方法吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

快速&脏解决方案,您可以将自动增量种子设置为一个大数字,因此新系统将在一个不会与旧系统冲突的范围内创建其ID。

以下脚本会将自动增量种子更改为100万:

DBCC CHECKIDENT ('NewTable', RESEED, 1000000)