Ich verwende SQL Server 2014 und dies ist die Situation:
- Ich habe Server A und Server B.
- Übernacht-ETL wird auf Server A verarbeitet.
- Nach Abschluss des Ladevorgangs wird die Datenbank X gesichert (mit
CHECKSUM
undRESTORE VERIFYONLY
um die Zuverlässigkeit zu gewährleisten) und dann an Server B gesendet. - Server B empfängt die
bak
Datei und stellt dort die Datenbank wieder her.
Ich möchte eine differenzielle Sicherungsstrategie verwenden, damit:
Eine vollständige Sicherung wird nur am Samstag durchgeführt,
dh vollständige Sicherung auf Server A am Samstag -> an Server B senden -> vollständige Sicherung auf Server B wiederherstellenDer Rest der Tage ist Differenzsicherung,
dh Differenzsicherung auf Server A -> Versand an Server B -> Wiederherstellung der Differenzsicherung auf Server B
Ich habe es versucht, habe aber einen Fehler erhalten und gesagt:
Das Protokoll oder die differenzielle Sicherung kann nicht wiederhergestellt werden, da keine Dateien für die aktualisierende Wiederherstellung bereit sind.
Nicht sicher warum. Ich habe sys.database_files
Server A und Server B überprüft , und ich kann sehen, dass das differential_Base_LSN
und differential_base_GUID
das gleiche sind. Überall / irgendetwas anderes zu überprüfen?
Muss ich übrigens in Schritt 2 beim Wiederherstellen der Diff-Sicherung auf Server B jedes Mal sowohl die vollständige Sicherung als auch die differenzielle Sicherung wiederherstellen?
Ich habe nur die differenzielle Sicherung wiederhergestellt WITH RECOVERY
(und diese Fehlermeldung erhalten), weil die vollständige Sicherung bereits am Vortag wiederhergestellt wurde.
Zur Verdeutlichung: Ja, ich möchte, dass die Datenbank auf Server B zwischen den Differentialen lesbar ist. Wie kann ich das umgehen? Kann ich nur jede Nacht eine RESTORE FULL (WITH NORECOVERY)
+ RESTORE DIFF (WITH RECOVERY)
Combo-Sequenz auswählen?
Jede Anleitung wird sehr geschätzt.