2016-11-23 3 views
0

Wir haben Server1, auf dem eine automatische Sicherung von DB1 jede Nacht läuft:Diese Sicherung kann nicht mit WITH STANDBY wiederhergestellt werden, da ein Datenbankupgrade erforderlich ist. Reissue RESTORE die ohne WITH STANDBY

  • Am Wochenende - ein Voll-Backup
  • Auf der anderen Nächte - ein Diff-Backup

Die Datenbank wird auf Server2 mit der Option "With Standby" wiederhergestellt und somit wird der aktuelle Diff jede Nacht auf Server2, wiederhergestellt und wir bekommen eine Read Only Replik (aktualisiert auf letzte Nacht). An den Wochenenden wird die vollständige Sicherung wiederhergestellt.

Server2 wurde auf SQL Server 2016 aktualisiert, während Server1 SQL Server 2012 blieb und daher die oben genannte Fehlermeldung angezeigt wird.

Die Lösung nach Google ist die Verwendung der Option NoRecovery. Das Problem ist, dass die Verwendung von NoRecovery uns am Wochenende ein unlesbares Replikat hinterlassen wird (weil die Wiederherstellung noch nicht abgeschlossen ist), am ersten Tag der Woche erhalten wir vielleicht ein aktualisiertes Replikat, aber in den nächsten Tagen werden wir es tun Die aktuellen Diff-Backups können nicht wiederhergestellt werden.

Gibt es eine Lösung für dieses Problem, die uns eine aktualisierte Wiederherstellung von 2012 bis 2016 ermöglicht?

+1

Haben Sie versucht, ohne die 'WITH STANDBY'-Option wiederherzustellen? Das Problem beim Wiederherstellen eines älteren Backup-Images auf einer neueren Datenbank-Engine besteht darin, dass Sie in einigen Fällen (und offensichtlich in Ihrem) die Datenbankdateistruktur auf die neue Engine aktualisieren müssen. Wenn das nicht möglich ist und Sie 'WITH STANDBY' beibehalten, haben Sie drei Möglichkeiten," WITH STANDBY "abzubrechen, Ihren primären Server ebenfalls zu aktualisieren oder einen neuen sekundären Server mit derselben Version wie den primären Server einzurichten. –

+0

Ich sehe kein Problem, wenn Sie eine Datenbank der niedrigeren Version in eine höhere Version wiederherstellen, die gesamte Erklärung, die Sie gaben, sagt nichts über die Wiederherstellung der niedrigeren Version.Selbst wenn Sie Spiegelung verwenden, sehe ich kein Problem (Sie können jedoch nicht Failback) – TheGameiswar

Antwort

0

Lasse V. Karlsen ist richtig: Es gibt keinen Weg, es zu tun, und wir sollten entweder die Instanz aktualisieren, wo die Datenbank wiederhergestellt wird, oder eine neue Instanz auf der gleichen Maschine mit einer entsprechenden Version erstellen, verwenden Sie es um sie wiederherzustellen und von der vorhandenen Instanz aus darauf zuzugreifen. Vermeiden Sie die Verwendung von "Mit StandBy" ist keine Option. Wir haben das gelöst, indem wir eine neue Instanz erstellt haben. Danke.