Unerwarteter Sprung der Identitätsspaltenwerte auf 1001 in SQL Server
In SQL Server 2012 haben Benutzer einen unerwarteten Sprung der Identitätsspaltenwerte festgestellt bis 1001. Diese Abweichung von der üblichen fortlaufenden Nummerierung hat bei vielen zu Bedenken geführt Entwickler.
Grund des Problems
Microsoft hat die Behandlung von Identitätswerten in SQL Server 2012 geändert. Daher können nach einem Serverneustart Identitätslücken zwischen Datensätzen auftreten . Weitere mögliche Ursachen sind automatische Serverneustarts nach Aktualisierungen.
Lösungen
Um dieses Problem zu beheben, stehen zwei Hauptlösungen zur Verfügung:
1 . Trace-Flag 272 verwenden:
Trace-Flag 272 protokolliert jeden generierten Identitätswert. Während diese Methode Einblick in das Problem bietet, kann sie sich auch auf die Leistung der Identitätsgenerierung auswirken.
2. Erstellen Sie einen Sequenzgenerator ohne CACHE-Einstellung:
Diese Methode generiert eine Zahlenfolge für die Identitätsspalte ohne Zwischenspeicherung. Durch die Angabe von NO CACHE hat ein Serverneustart keinen Einfluss auf die Reihenfolge und gewährleistet so eine fortlaufende Nummerierung.
Verwenden des Trace-Flags 272 auf SQL Server 2012
Um das Trace-Flag 272 zu aktivieren, Befolgen Sie diese Schritte:
Das obige ist der detaillierte Inhalt vonWarum ist meine SQL Server 2012-Identitätsspalte auf 1001 gesprungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!