(0) exportieren Drucken
Alle erweitern
Erweitern Minimieren

NEWSEQUENTIALID() (Transact-SQL)

Erstellt einen GUID, der größer ist als alle GUIDs, die zuvor von dieser Funktion seit dem Start von Windows auf einem angegebenen Computer generiert wurden. Nach dem Neustart von Windows kann der GUID wieder in einem niedrigeren Bereich beginnen, ist aber immer noch global eindeutig. Wenn jetzt eine GUID-Spalte als Zeilenbezeichner verwendet wird, kann die Verwendung von NEWSEQUENTIALID schneller zu Ergebnissen führen als die Verwendung der NEWID-Funktion. Dies ist darauf zurückzuführen, dass die NEWID-Funktion zufällige Aktivität erzeugt und weniger zwischengespeicherte Datenseiten verwendet. Die Verwendung von NEWSEQUENTIALID hilft auch beim vollständigen Ausfüllen der Daten- und Indexseiten.

Wichtiger Hinweis Wichtig

Falls Datenschutz eine wichtige Überlegung ist, sollten Sie diese Funktion nicht verwenden. Der Wert des als Nächstes erstellten GUIDs ist vorhersagbar, daher ist auch der Zugriff auf Daten möglich, die mit diesem GUID verbunden sind.

NEWSEQUENTIALID ist ein Wrapper über die Windows-Funktion UuidCreateSequential.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen


NEWSEQUENTIALID ( )

uniqueidentifier

NEWSEQUENTIALID() kann nur in Bezug auf DEFAULT-Einschränkungen für Tabellenspalten des Typs uniqueidentifier verwendet werden. Beispiel:

CREATE TABLE myTable (ColumnA uniqueidentifier DEFAULT NEWSEQUENTIALID()) 

Wenn NEWSEQUENTIALID() in DEFAULT-Ausdrücken verwendet wird, ist eine Kombination mit anderen Skalaroperatoren nicht möglich. Sie können z. B. folgende Aktionen nicht ausführen:

CREATE TABLE myTable (ColumnA uniqueidentifier DEFAULT dbo.myfunction(NEWSEQUENTIALID())) 

Im vorherigen Beispiel ist myfunction() eine benutzerdefinierte Skalarfunktion, die einen uniqueidentifier-Wert annimmt und zurückgibt.

Auf NEWSEQUENTIALID() kann in Abfragen nicht verwiesen werden.

Sie können NEWSEQUENTIALID() zum Generieren von GUIDs verwenden, um Seitenkonflikte auf der Blattebene von Indizes zu reduzieren.

Jede mit NEWSEQUENTIALID() generierte GUID ist auf diesem Computer eindeutig. Die mit NEWSEQUENTIALID() generierten GUIDs sind nur über mehrere Computer hinweg eindeutig, wenn der Quellcomputer eine Netzwerkkarte hat. Weitere Informationen über GUIDs finden Sie unter Verwenden von uniqueidentifier-Daten.

Änderungsverlauf

Der Inhalt wurde aktualisiert.

Es wurde eine Beschreibung der Auswirkung hinzugefügt, die ein Neustart von Windows auf GUIDs haben kann.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft