Ich habe eine SQL Server-Datenbank geerbt und aus irgendeinem Grund wird der Primärschlüssel nicht richtig inkrementiert.Wie ordne ich den Primärschlüssel einer Tabelle neu oder erhöht ihn automatisch, wenn er nicht richtig inkrementiert wird?
Zum Beispiel kann die PK für den letzten Datensatz in der Tabelle ist 120350
Dann, wenn ich einen neuen Datensatz in die Tabelle ein, es wird die PK 48377
Was ist der beste Weg wäre, die ursprüngliche PK für neue Datensätze neu anordnen oder festlegen? Dies ist für Microsoft SQL Server 2008 R2.
Sie können Ihre Identität neu erstellen. https://msdn.microsoft.com/en-us/library/ms176057.aspx Ich wäre extrem besorgt über eine Identität, die plötzlich weniger als die maximalen Werte war. Dies ist ein Hinweis darauf, dass entweder eine erneute Suche stattgefunden hat oder dass einige Daten mit identity_insert erstellt wurden. Sie müssen herausfinden, was dort passiert ist und warum. –
Ja, ich habe keine Ahnung, wo ich überhaupt hinschauen soll. Diese Tabelle wird verwendet, um Versanddaten aus unseren USPS- und UPS-Programmen zu senden. Es sollte nur in die nächste inkrementelle Zeile geschrieben werden. –
Abhängig von der Version von SQL Server wird es Lücken geben. Mit 2008+ gibt es ein dokumentiertes Verhalten, dass nach einem Serverneustart Lücken entstehen. Die Werte sollten jedoch nicht kleiner als die Anzahl der vorhandenen Zeilen sein, vorausgesetzt, Ihre Schritteinstellung für die Identitätseigenschaft ist positiv. –