recovery interval (Option)

Sie können mithilfe der Option recovery interval die maximale Anzahl der Minuten pro Datenbank festlegen, die Microsoft SQL Server zum Wiederherstellen von Datenbanken benötigt. Beim Starten einer Instanz von SQL Server wird jede Datenbank wiederhergestellt. Dabei wird ein Rollback für Transaktionen ausgeführt, für die kein Commit ausgeführt wurde, und ein Rollforward für Transaktionen, für die zwar ein Commit ausgeführt wurde, deren Änderungen jedoch beim Beenden einer Instanz von SQL Server nicht auf den Datenträger geschrieben wurden. Durch diese Konfigurationsoption wird eine obere Grenze für die Zeit festgelegt, die das Wiederherstellen aller Datenbanken beanspruchen darf. Der Standardwert lautet 0. Bei dieser Einstellung wird die Option automatisch von SQL Server konfiguriert. In der Praxis bedeutet dies eine Wiederherstellungszeit von weniger als einer Minute und das Auftreten eines Prüfpunkts in Abständen von ungefähr einer Minute bei aktiven Datenbanken.

Durch die Option recovery interval wird gesteuert, wann SQL Server einen Prüfpunkt in den einzelnen Datenbanken ausgibt. Prüfpunkte werden für jede Datenbank separat festgelegt. An einem Prüfpunkt stellt SQL Server sicher, dass alle Protokollinformationen und alle geänderten Seiten aus dem Arbeitsspeicher auf den Datenträger geleert werden. Dadurch wird die Zeit für die Wiederherstellung beschränkt, da die Anzahl der Transaktionen begrenzt wird, für die ein Rollforward ausgeführt wird, um ihr Vorhandensein auf dem Datenträger sicherzustellen. Für Änderungen, die vor dem Prüfpunkt vorgenommen wurden, muss kein Rollforward ausgeführt werden, da sie bereits am Prüfpunkt auf den Datenträger geleert wurden.

Die Option recovery interval wirkt sich nicht auf die Zeit aus, die für das Rückgängigmachen von Transaktionen mit langer Ausführungszeit beansprucht wird. Wenn beispielsweise eine Transaktion mit langer Ausführungszeit vor dem Deaktivieren des Servers für Aktualisierungen zwei Stunden beansprucht hat, dauert die tatsächliche Wiederherstellung bedeutend länger als im recovery interval-Wert vorgegeben, da diese Wiederherstellung einen Rollback für die lange Transaktion umfasst.

SQL Server gibt in der Regel einen Prüfpunkt in einer Datenbank aus, wenn die Anzahl der seit dem letzten Prüfpunkt ausgeführten Datenänderungen die Anzahl erreicht, für die laut SQL Server-Schätzung im Wiederherstellungsintervall ein Rollforward ausgeführt werden kann. In einigen Fällen gibt SQL Server den Prüfpunkt aus, wenn das Protokoll zu 70 % aufgefüllt ist, falls dies unter der geschätzten Zahl liegt.

Die Häufigkeit von Prüfpunkten in den Datenbanken hängt von der Menge der Datenänderungen und nicht von zeitlich bestimmten Faktoren ab. Eine Datenbank, die in erster Linie für schreibgeschützte Vorgänge verwendet wird, weist nicht sehr viele Prüfpunkte auf. Eine Transaktionsdatenbank verfügt dagegen über häufige Prüfpunkte.

Behalten Sie das Festlegen der Option recovery interval auf 0 (selbstkonfigurierende Option) bei, es sei denn, Sie stellen fest, dass die Leistung durch zu häufig auftretende Prüfpunkte beeinträchtigt wird. Wenn dies der Fall ist, sollten Sie den Wert in kleinen Schritten erhöhen.

Bei der Option recovery interval handelt es sich um eine erweiterte Option. Wenn Sie die Einstellung mithilfe der gespeicherten Systemprozedur sp_configure ändern, können Sie recovery interval nur ändern, wenn show advanced options auf 1 festgelegt ist. Die Einstellung tritt ohne Neustarten des Servers sofort in Kraft.

Sie müssen die RECONFIGURE WITH OVERRIDE-Anweisung ausführen, um die Option recovery interval auf einen höheren Wert als 60 (Minuten) festzulegen.