這是一個通用的查詢,我的場景是:我有一個數據庫(MS SQL),並創建一個列作爲uniqueidentifier並使用NEWSEQUENTIALID()分配值,我知道它將永遠是唯一的id。但是如果我在三臺機器上部署相同的數據庫會怎麼樣(2臺機器是事務性數據庫,第三臺是複製數據庫)。在複製數據庫中,我將更新列以不自行分配值。從兩個事務性數據庫中,我將每天將數據複製到複製數據庫。現在查詢是,當我複製到複製數據庫時,在兩個事務數據庫上生成的id是否是唯一的。即。是在任何機器上唯一生成的ID?還是隻有一臺機器?無論主機如何,NEWSEQUENTIALID()SQL都會生成唯一的ID嗎?
回答
是的,它仍然是全球唯一的。
看一看的MSDN頁面吧: http://msdn.microsoft.com/en-gb/library/ms189786.aspx
通過「指定計算機」是指的一個事實,即GUID將低於此前產生的那些更大。所以大於最後生成的只能保證該機器。它的獨特之處在於全球。
只有使用網卡的機器才能保證(我猜這肯定是99.9999%的SQL Server) –
這是真的。另外,如果他在機器之間複製數據,我假設他們有網卡。 –
@ Tom.Bowen89:我已經通過鏈接並且有點困惑,因爲它顯示「創建的GUID大於自Windows啓動以來由指定計算機上此函數生成的任何GUID」,請檢查單詞SPECIFIED計算機,這意味着我猜測在一臺計算機....我的情況是,兩臺機器(trancation數據庫)將在客戶端站點上,而複製數據庫將內置給我,其中複製不是實際的DB-DB複製,但一個使用Windows服務實現的概念和通過web服務完成的調用。 – Chinjoo
- 1. 如何生成主機唯一ID?
- 2. 生成一個唯一的機器ID
- 3. 如何生成一個隨機數,每次都是唯一的
- 4. 無論主機名如何,JDBC都會嘗試連接到「本地主機」
- 5. Spine.js如何生成唯一的ID?
- 6. 如何生成唯一的ID?
- 7. C生成唯一的ID
- 8. 生成唯一的ID
- 9. 如何生成自定義唯一ID
- 10. 流利nhibernate如何生成唯一ID
- 11. 如何生成唯一的會話ID onload?
- 12. 如何在php中生成唯一的會話ID
- 13. 如何生成一個唯一的ID用作服務器端的會話ID?
- 14. 無論何時使用UIButton重置UITextField,RACSignal都不會生成
- 15. 唯一事件ID生成
- 16. 生成C#長唯一ID
- 17. 生成唯一對象ID
- 18. 生成一個唯一的ID
- 19. NHibernate和MS SQL函數NEWSEQUENTIALID()生成一個有序的GUID
- 20. SQL Server生成唯一值
- 21. 生成一個唯一的主鍵
- 22. jQuery的生成唯一的ID
- 23. 使用主鍵生成唯一ID的關鍵字
- 24. 生成int32和int64大小的唯一主要ID
- 25. sql - 爲每一行生成一個唯一的隨機值
- 26. SQL:如何生成一個唯一的ID給定表FirstName_LastName ###字段
- 27. 在J2ME中生成唯一的ID
- 28. 使用select LAST_INSERT_ID生成唯一的ID
- 29. 生成唯一的產品ID
- 30. 生成唯一的順序ID
我的回答是否已成功回答您的問題,或者您還有其他問題不清楚嗎? –