問題與服務器
同步時,在客戶端數據庫中的主鍵clashs處理如何避免在客戶機/服務器的數據庫主鍵衝突
背景
我同步一個相互數據庫的數量。我有一箇中央SQL Server數據庫和許多客戶端SQL Server數據庫。現在說我有數據庫中的表X有主鍵ID。
在第一客戶端,我們在表X以下ID:
X(客戶1)
--------
1 | someValue中
2 | someValue中
3 | someValue中
4 | someValue中
以及在第二客戶端I有
X(客戶端2)
--------
1 | someValue中
2 | someValue中
3 | someValue中
4 | someValue中
當我同步,我希望客戶機只能上傳他們的數據,而不是下載它們。
現在,當我與服務器同步的第一客戶端,它將從(1。4)添加的主鍵。但是,當我與第二個客戶端同步時,會出現PRIMARY KEY CLASH。我怎麼解決這個問題?
我使用SQL Server 2008 R2中,同步框架和C#。
我已經考慮過使用GUID作爲主鍵這是不可行的在我的情況,因爲我處理遺留數據庫的想法。此外,重新設置有點容易出錯的IDENTITY值的想法。如何在不插入值的情況下增加標識列? P.S:主鍵設置爲IDENTITY,增量爲1.
您依賴客戶端生成的主鍵的目的是什麼? –
我正在同時收集來自不同城市的信息。之後,數據上傳到駐留在大寫服務器中的表格中。該數據庫用於調查應用程序,這意味着我有不同的調查設備「平板電腦」,並且它們都有本地數據庫。收集信息後,是時候將它們提交給服務器。因此,可能是一個本地數據庫中的主鍵與另一個數據庫中的主鍵具有相同的值。我希望這更清楚。 –
您能夠對遺留數據庫進行任何修改嗎? –