Weiß jemand, ob es eine T-SQL-Methode gibt, um eine SQL Server-Datenbank in den schreibgeschützten Standby-Modus zu versetzen, wie es mit der STANDBY-Klausel von BACKUP DATABASE möglich ist, nur ohne ein BACKUP DATABASE durchzuführen?
Hintergrund: Ich habe ein selbst erstelltes Log-Shipping-Setup auf SQL Server 2005 Workgroup Edition. Ich habe ein Backup-Dienstprogramm eines Drittanbieters gefunden, das komprimierte Backups erstellt. Es ist schneller als BACKUP DATABASE und die Dateien sind viel kleiner, aber es fehlt die Möglichkeit, eine Datenbank in den Standby-/Nur-Lese-Modus zu versetzen. Ich brauche diese Funktion für das Failover bei Disaster-Recovery-Tests. Wenn wir ein Failover durchführen und Log Ship von unserem (jetzt aktiven) Standby-Server zurück zu unserem primären Server senden, können wir am Ende des Tests einfach wieder ein Failback durchführen, anstatt wieder von vorne zu beginnen. Ich kann das Log Tail-Backup mit BACKUP DATABASE statt mit dem Drittanbieter-Tool durchführen, aber es wäre sauberer, wenn ich das nicht müsste.
Antwort1
Nein, es gibt keine Möglichkeit, eine Datenbank in den Standby-Modus zu versetzen, ohne sie gleichzeitig aus einer Sicherung wiederherzustellen. Sobald die Datenbank beschreibbar ist, können Sie sie nicht wieder für die Wiederherstellung von Protokollen vorbereiten, da die LSN-Kette unterbrochen wurde.
Antwort2
Könnten Sie verwenden
ALTER DATABASE Ihre_Datenbank SET READ_ONLY
dann benutze
ALTER DATABASE Ihre_Datenbank SET READ_WRITE
wann möchten Sie zurückkehren?
Antwort3
Ich muss zugeben, ich habe auf Ihren anderen Beitrag (über Ihre Backup-Software) geantwortet und jetzt, wo ich diese Frage lese, mache ich mir tatsächlich ein wenig Sorgen über die Backup-Software, die Sie verwenden.
Dies ist eines der Dinge, bei denen eine „zu komplexe“ Lösung später tatsächlich zu einer Katastrophe führen kann. Ich weiß nichts über die Backup-Software, die Sie verwenden, aber eine schnelle Google-Suche hat mehrere schlechte (aber leider veraltete) Bewertungen ergeben.
Also, ich weiß nicht. Gibt es einen besonderen Grund, warum Sie diese Backup-Software verwenden möchten, anstatt sich darauf zu verlassen, dass MS SQL Server dies für Sie erledigt?
Geschwindigkeit und Speicherplatz können doch nicht SO viel wichtiger sein als DATENINTEGRITÄT und ZUVERLÄSSIGKEIT, oder?
Übersehe ich hier etwas?
Vielleicht möchte Paul Randal hier seinen Senf dazu geben?