Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Konvertieren des Int-Primärschlüssels in Bigint in Sql Server

Sie könnten einen abgestuften Ansatz versuchen.

  1. Erstellen Sie eine neue bigint-Spalte
  2. Erstellen Sie einen Einfüge-Trigger, um neue Einträge mit den beiden Spalten synchron zu halten
  3. Führen Sie eine Aktualisierung durch, um alle leeren Werte in der bigint-Spalte mit dem konvertierten Wert zu füllen
  4. Ändern Sie den Primärindex der Tabelle von Ihrer alten ID-Spalte in die neue
  5. Verweisen Sie alle FKs und Abfragen darauf, die neue Spalte zu verwenden
  6. Ändern Sie die neue Spalte zu Ihrer Identitätsspalte und entfernen Sie den Insert-Trigger aus #2
  7. Löschen Sie die alte ID-Spalte

Sie sollten den Schmerz am Ende auf diese 7 Schritte verteilen, anstatt alles auf einmal zu treffen.