3

これは一般的なクエリです。私のシナリオは次のとおりです。DB(MS SQL)があり、uniqueidentifierとして列を持つテーブルを作成し、NEWSEQUENTIALID()を使用して値を割り当てます。これは、常に一意のIDになることがわかっています。しかし、同じDBを3台のマシンにデプロイしている場合はどうなりますか(2台のマシンはトランザクションDBで、3台目はレプリケーションDBです)。レプリケーションDBで、列を更新して、それ自体で値を割り当てないようにします。2つのトランザクションDBから、データをレプリケーションDBに毎日レプリケートします。これでクエリが実行されます。レプリケーションDBにレプリケートするときに、2つのトランザクションDBで生成されるIDは一意になりますか。すなわち。生成されたIDはどのマシンでも一意ですか?それとも1台のマシンだけですか?

4

1 に答える 1

2

はい、それでもグローバルにユニークです。

それのMSDNページを見てください:http: //msdn.microsoft.com/en-gb/library/ms189786.aspx

「指定されたコンピューター」とは、GUIDが以前に生成されたものよりも大きくなるという事実を指します。したがって、最後に生成されたものよりも大きいことは、そのマシンでのみ保証されます。その独自性はグローバルです。

于 2013-02-05T12:37:26.087 に答える