Zurücksetzen des SQL Server-Identitäts-Seeds nach Zeilenlöschung
SQL Server-Tabellen mit automatisch inkrementierenden Primärschlüsseln verwenden einen Identitäts-Seed – den Anfangswert für die Identitätsspalte – der mit jedem neuen Datensatz zunimmt. Dies gewährleistet Eindeutigkeit und aufsteigende Reihenfolge innerhalb der Identitätsspalte.
Das Löschen von Datensätzen kann diese Reihenfolge jedoch unterbrechen und möglicherweise dazu führen, dass die automatisch generierte Indexspalte falsch ausgerichtet wird. Dies ist besonders problematisch, wenn die Identitätsspalte an anderer Stelle als Fremdschlüssel dient.
Die Wiederherstellung des Identitäts-Seeds nach Löschungen erfolgt mit dem Befehl DBCC CHECKIDENT
.
Dieser Befehl setzt den Identitätszähler für eine angegebene Tabelle zurück. Die Syntax des Befehls lautet:
<code class="language-sql">DBCC CHECKIDENT (table_name [, { NORESEED | { RESEED [, new_reseed_value ]}}]) [ WITH NO_INFOMSGS ]</code>
Zum Beispiel das Zurücksetzen der Identitätsspalte der TestTable
-Tabelle auf 0:
<code class="language-sql">DBCC CHECKIDENT ('[TestTable]', RESEED, 0); GO</code>
Wichtiger Hinweis: Während es zuvor in älteren Azure SQL-Datenbankversionen nicht unterstützt wurde, ist DBCC CHECKIDENT
jetzt voll funktionsfähig.
Anhaltende Probleme mit dem Zurücksetzen des Identitäts-Seeds können eine Kontaktaufnahme mit dem Microsoft-Support erforderlich machen.
Das obige ist der detaillierte Inhalt vonWie setze ich den SQL Server-Identitäts-Seed nach dem Löschen von Zeilen zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!