Freigeben über


Ändern der Zielwiederherstellungszeit einer Datenbank (SQL Server)

Gilt für: SQL Server

In diesem Artikel wird beschrieben, wie Sie mithilfe von SQL Server Management Studio oder Transact-SQL die Zielwiederherstellungszeit einer Datenbank in SQL Server festlegen oder ändern. Standardmäßig beträgt die Zielwiederherstellungszeit 60 Sekunden, und die Datenbank verwendet indirekte Prüfpunkte. Die Zielwiederherstellungszeit richtet eine Obergrenze der Wiederherstellungszeit für diese Datenbank ein.

Diese Einstellung wird sofort wirksam und erfordert keinen Neustart von SQL Server.

Hinweis

Die Obergrenze, die für eine bestimmte Datenbank durch die Wiederherstellungszeiteinstellung für das Ziel angegeben wird, könnte überschritten werden, wenn eine Transaktion mit langer Laufzeit übermäßig lange UNDO-Zeiten verursacht.

Einschränkungen

Im Fall einer Arbeitsauslastung für Onlinetransaktionen bei einer Datenbank, die für indirekte Prüfpunkte konfiguriert ist, kann eine Verringerung der Leistung auftreten. Indirekte Prüfpunkte stellen sicher, dass die Anzahl der modifizierten Seiten unter einem bestimmten Schwellenwert liegt, sodass die Datenbankwiederherstellung innerhalb der Zielwiederherstellungszeit abgeschlossen wird. Die Konfigurationsoption „Wiederherstellungsintervall“ ermittelt die Wiederherstellungszeit über die Anzahl der Transaktionen. Im Gegensatz dazu greifen indirekte Prüfpunkte auf die Anzahl der modifizierten Seiten zurück.

Wenn für eine Datenbank, die eine große Anzahl von DML-Vorgängen empfängt, indirekte Prüfpunkte aktiviert sind, können beim Schreiben im Hintergrund leere modifizierte Puffer aggressiv auf den Datenträger geleert werden. Dadurch wird sichergestellt, dass der Zeitaufwand für die Wiederherstellung innerhalb der Zielwiederherstellungszeit der Datenbank liegt. Dies kann auf bestimmten Systemen zusätzliche E/A-Aktivitäten verursachen, die zu einem Leistungsengpass führen können, wenn das Datenträgersubsystem über oder nahe dem E/A-Schwellenwert arbeitet.

Berechtigungen

Erfordert die ALTER-Berechtigung für die Datenbank.

Verwenden von SQL Server Management Studio

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Instanz der SQL Server-Datenbank-Engine her, und erweitern Sie diese Instanz.

  2. Erweitern Sie den Container Datenbanken, und klicken Sie dann mit der rechten Maustaste auf die Datenbank, die geändert werden soll. Wählen Sie anschließend den Befehl Eigenschaften aus.

  3. Wählen Sie im Dialogfeld Datenbankeigenschaften die Seite Optionen aus.

  4. Geben Sie im Bereich Wiederherstellung im Feld Zielwiederherstellungszeit (Sekunden) die Anzahl von Sekunden als gewünschte Obergrenze der Wiederherstellungszeit für diese Datenbank an.

Verwenden von Transact-SQL

  1. Stellen Sie eine Verbindung mit der Instanz von SQL Server her, auf der sich die Datenbank befindet.

  2. Verwenden Sie die ALTER DATABASE-Anweisung wie folgt:

    TARGET_RECOVERY_TIME = target_recovery_time { SECONDS | MINUTES }

    target_recovery_time
    Ab SQL Server 2016 (13.x) beträgt der Standardwert 1 Minute. Gibt bei einem Wert größer als 0 (der Standardwert für ältere Versionen) die Obergrenze der Wiederherstellungszeit für die angegebene Datenbank im Fall eines Absturzes an.

    SECONDS
    Gibt an, dass target_recovery_time die Anzahl von Sekunden darstellt.

    MINUTES
    Gibt an, dass target_recovery_time die Anzahl von Minuten darstellt.

    Im folgenden Beispiel wird die Zielwiederherstellungszeit der AdventureWorks2022 -Datenbank auf 60 Sekunden festgelegt.

    ALTER DATABASE AdventureWorks2022 SET TARGET_RECOVERY_TIME = 60 SECONDS;
    

Siehe auch