Ich habe einen Produktionsserver, auf dem SQL Server 2008 Web Edition ausgeführt wird, und er muss rund um die Uhr ohne Ausfallzeiten ausgeführt werden. Es ist an der Zeit, auf eine erweiterte Serverhardware umzusteigen. Außerdem ist dies eine gute Chance, auf SQL Server umzusteigen 2012 Unternehmen.
Nun meine Frage, wie kann ich diese Migration durchführen, ohne die Datenbank überhaupt herunterzufahren? Wenn Sie beispielsweise etwas zwischen den beiden Servern als Replikation oder so festlegen, sodass ich auf beiden Servern bis zu einer Sekunde genau dieselbe Datenbank habe, kann ich die Hauptdienste nur für 1 Minute herunterfahren und die IP-Adresse der Datenbankverbindung ändern vom alten Server zum neuen Server und ich bin sicher, dass der neue Server eine identische Kopie des alten hat.
Ich kann mich nicht für das Sichern / Wiederherstellen entscheiden, da dies länger als akzeptabel dauert. Deshalb benötige ich etwas, das identische Datenbanken genau so garantiert, als würde ich Sichern / Wiederherstellen durchführen. 5 Minuten könnten die maximal erschwingliche Ausfallzeit sein.
Die Datenbankgröße beträgt ca. 100 GB.
Auf dem neuen Server wird 2012 Enterprise ausgeführt, und auf dem alten Server wird 2008 Web ausgeführt
Ich kann ausnahmsweise Datensätze aus der Datenbank archivieren und deren Größe auf 20 GB reduzieren.
Ich habe die Möglichkeit, meine SQL Server 2008 Web Edition auf Enterprise Edition zu aktualisieren, wenn dies bei weiteren Lösungen hilfreich ist, z. B. bei der Replikation.
it has to keep running 24x7 with almost no down time
? Wenn Sie sich für ein Unternehmen entscheiden, würde ich vorschlagen, dass Sie sich für eine Spiegelung entscheiden (zuerst asynchron) und dann während der Umschaltung die Spiegelung auf SYNC umstellen. Dies gibt Ihnen minimale Ausfallzeiten.Antworten:
Da Sie SQL Server 2008 Web Edition verwenden, ist es am besten, diese zu verwenden
LOG SHIPPING
.Ihre Datenbankgröße beträgt 100 GB. Daher sollte die Initialisierung der sekundären Daten aus einer Sicherung in Betracht gezogen werden. Verwenden Sie die GUI nicht, um den ersten Protokollversand einzurichten.
SO sollten Ihre Schritte sein:
WITH NORECOVERY
.Starten Sie den Protokollversand-Assistenten und stellen Sie sicher, dass Sie auswählen
secondary is already initialized
. Konfigurieren Sie Logshipping so, dass es alle gibt1 min
(dies ist das Minimum, das Sie erhalten können).Verschieben Sie alle Anmeldungen, Jobs und SSIS-Pakete.
Während des Wechsels zum neuen Server:
Beenden Sie alle Webserver, die eine Verbindung zur Datenbank herstellen
Beenden Sie alle Sicherungs-, Kopier- und Wiederherstellungsjobs des Protokollversands.
Erstellen Sie eine endgültige Sicherung des Endprotokolls und stellen Sie sie auf der sekundären Seite wieder her
WITH RECOVERY
.Synchronisieren Sie die Anmeldungen.
Ändern Sie die
web.config
Anwendung so, dass sie auf den neuen Server verweist. Auf diese Weise müssen Sie die IP-Adresse des neuen Servers nicht an die alte anpassen.Ich habe die Schritte nach der Wiederherstellung hier detaillierter angegeben .
quelle