Automatisches Nummerieren und Bezeichnerspalten

Für jede Tabelle kann eine einzelne Bezeichnerspalte erstellt werden, die systemgenerierte, sequenzielle Werte enthält, die jede Zeile innerhalb der Tabelle eindeutig identifizieren. Eine Bezeichnerspalte kann z. B. automatisch eindeutige Kundenrechnungsnummern für eine Anwendung generieren, wenn neue Zeilen in die Tabelle eingefügt werden. Bezeichnerspalten enthalten in der Regel Werte, die innerhalb der Tabelle eindeutig sind, für die sie definiert wurden. Dies bedeutet, dass Tabellen mit Bezeichnerspalten Identitätswerte enthalten können, die auch in einer anderen Tabelle verwendet werden. Normalerweise führt dies nicht zu Problemen, da die Identitätswerte in der Regel nur im Kontext einer einzelnen Tabelle verwendet werden; die Bezeichnerspalten sind nicht mit anderen Bezeichnerspalten in anderen Tabellen verbunden.

In jeder Tabelle kann eine einzelne Spalte mit einem global eindeutigen Bezeichner (Globally Unique Identifier, GUID) erstellt werden. Diese Spalte enthält Werte, die über alle vernetzten Computer in der ganzen Welt hinweg eindeutig sind. Eine Spalte, für die sichergestellt ist, dass sie global eindeutige Werte enthält, kann oftmals von großem Nutzen sein, wenn ähnliche Daten aus mehreren Datenbanksystemen zusammengeführt werden müssen (z. B. bei einem Fakturierungssystem, dessen Daten auf unterschiedliche Tochterunternehmen in der ganzen Welt verteilt sind). Wenn die Daten am zentralen Standort zusammengeführt werden, um Übersichten und Berichte zu erstellen, wird durch die global eindeutigen Werte verhindert, dass Kunden in unterschiedlichen Ländern/Regionen über dieselbe Rechnungsnummer oder Kunden-ID verfügen.

SQL Server verwendet GUID-Spalten für die Mergereplikation und Transaktionsreplikation mit Abonnements mit sofortiger Aktualisierung zur Sicherstellung, dass Zeilen in mehreren Kopien der Tabelle eindeutig gekennzeichnet sind.