0

Ich habe eine Organization table und eine Site table in meiner Datenbank.Wie kann ich einen eindeutigen INT-Primärschlüssel für eine über mehrere geografische Standorte verstreute Tabelle mit sql azure haben?

Die Anwendung wird unter verschiedenen Geographical Sites installiert und jeder Standort hat seine eigene lokale Datenbank.

Ich verwende Sql Azure Synchronization Group für die Synchronisierung aller Websites Daten einmal pro Woche. Es ist in Ordnung für alle anderen Daten in einer Woche synchronisiert zu werden, aber diese eine Tabelle Site - Immer wenn eine neue Site eingefügt wird, brauche ich eine eindeutige ID für diese Seite - Ich weiß, dass ich GUID verwenden kann, die ich an anderen Orten verwendet habe, aber es gibt eine Voraussetzung für die Verwendung nur INT.

Wenn ich INT verwenden, ist es möglich, dass gleiche INT Schlüssel an verschiedenen Stellen eingesetzt wird, die bei der Synchronisation in überschrieben Aufzeichnungen führen und verloren Sites.

Was kann ich tun, um einen eindeutigen INT Primärschlüssel für jeden in diese Tabelle eingefügten Datensatz zu haben?

Bitte sagen Sie mir mögliche Lösungen.

Antwort

1

Dies sind separate Datenbanken. Die einzige Möglichkeit, mit der SQL Azure eine eindeutige Site-ID bereitstellen kann, ist über Guid. Vielleicht könnten Sie einen einfachen WCF-Dienst für die Ausgabe sequenzieller INTs für Sie bereitstellen, den Sie aufrufen würden, bevor Sie eine Site erstellen (und vielleicht die nächste ID in einer Tabellenzeile oder so ähnlich. Sie müssten das machen) Ihr WCF-Dienst ist entweder Singleton oder kann mehrere IDs ausgeben, ohne die IDs erneut zu verwenden. Möglicherweise haben Sie die gelegentliche ungenutzte Site INT, da mit dem Code, der den WCF-Dienst aufruft, etwas schief gehen kann. das sollte nicht wichtig sein.

Verwandte Themen