0

我的数据库中有一个Organization table和一个Site table

该应用程序安装在各个Geographical Sites站点,每个站点都有自己的本地数据库。

Sql Azure Synchronization Group用于每周同步一次所有站点数据。所有其他数据在一周内同步就可以了,但是这个表Site- 每当插入新站点时,我需要该站点的唯一标识符 - 我知道我可以使用GUID我在其他地方使用过的标识符,但是是仅使用的要求INT

如果我使用INT,则可能INT在不同的位置插入相同的密钥,这在同步时会导致记录被覆盖并丢失Sites

INT为插入此表中的每条记录设置唯一的主键,我该怎么做?

请告诉我任何可能的解决方案。

4

1 回答 1

1

这些是单独的数据库,因此 SQL Azure 提供唯一站点 ID 的唯一方法是通过 Guid。也许您可以建立一个简单的 WCF 服务来为您发出顺序 INT,您会在创建站点之前调用它(并且它可能将其“下一个 id”保存在表格行中,或者类似的东西。你必须让您的 WCF 服务可以是单例的,也可以在不重复使用 ID 的情况下发布多个 ID。您可能偶尔会遇到未使用的站点 INT,因为调用 WCF 服务的代码可能会出现问题,但如果您对 ID 中的间隙感到满意,这应该没关系。

于 2012-03-25T20:23:58.747 回答