Ändern der Datentyp von int zu bigint für Tabellen mit Milliarden von Zeilen

Ich habe einige Tabellen mit Millionen, und in einer Tabelle Milliarden Zeilen mit einer Spalte als int nun bin ich einen Wechsel zu bigint. Ich habe versucht, ändern der Datentyp mit SSMS und es ging nach ein paar Stunden als Transaktionsprotokoll voll ist.

Andere Herangehensweise ist das erstellen einer neuen Spalte und begann die Aktualisierung mit dem Wert aus der alten Spalte neue Spalte in den Reihen, durch die Einstellung ROWCOUNT Eigenschaft 100000, es funktioniert, aber es sehr langsam und es behauptet, die volle server-Speicher. Mit diesem Ansatz kann ein paar Tage dauern, um abzuschließen, und es wird nicht akzeptabel sein in der Produktion.

Was ist die schnelle\beste Weg, um zu ändern Datentyp? Die Spalte "Quelle" ist keine identity-Spalte und doppelte, und ist null erlaubt. Die Tabelle hat einen index, die auf anderen Spalten, wird die Deaktivierung der index wird den Prozess beschleunigen? Wird das hinzufügen von Begin Tran und Commit helfen?

  • Brauchen Sie diese als Produktions-Fähigkeit, um ausgeführt werden auf einer regelmäßigen basis? Oder ist das eine einmalige Sache?
  • Dies muss nur einmal durchgeführt werden
InformationsquelleAutor user1337121 | 2012-04-16
Schreibe einen Kommentar