Sql-Server
合併複製中具有標識列的表
我在 SQL Server 2005 中有一個表,並且為 ID 列設置了 IDENTITY(1,1) 屬性。記錄被插入到本地伺服器和遠端伺服器的表中。我正在使用合併複製來匹配來自本地伺服器和遠端伺服器的數據。
如果我在本地伺服器和遠端伺服器上插入相同的 ID 會怎樣?
請建議我在這裡做錯了什麼。
當使用帶有標識列的合併時——需要指定自動或手動的標識範圍管理選項,這樣就不會發生重複。
通過自動,複製將自動管理參與合併拓撲的節點的身份範圍分配。
使用手動,您將需要使用 DBCC CHECKIDENT 手動為節點分配範圍的“孤島”。
您應該使用
uniqueidentifer
- GUID - 而不是整數標識。然後兩個數據庫都將具有唯一可辨識的行 ID,該 ID 保證是唯一的。請參閱http://technet.microsoft.com/en-us/library/ms151206(v=sql.90).aspx