Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
In diesem Thema wird beschrieben, wie Sie einer Datenbank in SQL Server 2016 (13.x) und höher mithilfe von Transact-SQL einen beständigen Protokollpuffer hinzufügen und entfernen.
Berechtigungen
Erfordert die ALTER Berechtigung für die Datenbank.
Konfigurieren des persistenten Speichergeräts (Linux)
Hier erfahren Sie mehr zum Konfigurieren eines persistenten Speichergeräts unter Linux.
Konfigurieren des persistenten Speichergeräts (Windows)
Hier erfahren Sie mehr zum Konfigurieren eines persistenten Speichergeräts unter Windows.
Hinzufügen eines beständigen Protokollpuffers zu einer Datenbank
Das Volume oder der Bereitstellungspunkt für die neue Protokolldatei muss mit aktivierter DAX-Unterstützung (NTFS) formatiert oder mit der DAX-Option (XFS/EXT4) eingehängt werden.
Verwenden Sie die folgende Syntax, um einer vorhandenen Datenbank einen beständigen Protokollpuffer hinzuzufügen. Die Syntax unterscheidet sich je nach SQL Server-Version.
Hinzufügen eines beständigen Protokollpuffers in SQL Server 2017 (14.x) und höher
ALTER DATABASE [DB] SET PERSISTENT_LOG_BUFFER = ON (DIRECTORY_NAME = 'path-to-directory-on-a-DAX-volume');
Zum Beispiel:
ALTER DATABASE WideWorldImporters SET PERSISTENT_LOG_BUFFER = ON (DIRECTORY_NAME = 'F:\SQLTLog');
Der Name des Beständigen Protokolldateipuffers wird automatisch generiert. Die Größe der Datei beträgt immer 20 MB.
Hinzufügen eines beständigen Protokollpuffers in SQL Server 2016 (13.x)
ALTER DATABASE [DB] ADD LOG FILE
(
NAME = [DAXlogLogicalName],
FILENAME = 'path-to-log-file-on-a-DAX-volume',
SIZE = 20 MB
);
Zum Beispiel:
ALTER DATABASE WideWorldImporters ADD LOG FILE
(
NAME = wwi_log2,
FILENAME = 'F:\SQLTLog\wwi_log2.pldf',
SIZE = 20 MB
);
Die Protokollpufferdatei auf dem DAX-Volume wird unabhängig von der mit dem ALTER DATABASE ADD LOG FILE Befehl angegebenen Größe auf 20 Megabyte dimensioniert.
Entfernen eines beständigen Protokollpuffers aus einer Datenbank
Um einen beständigen Protokollpuffer sicher zu entfernen, muss die Datenbank im Einzelbenutzermodus platziert werden, um den beständigen Protokollpuffer zu entwässern.
Wenn Sie einen beständigen Protokollpuffer entfernen, wird die Protokollpufferdatei auf dem Datenträger gelöscht.
Die Syntax unterscheidet sich je nach SQL Server-Version.
Entfernen des Puffers für persistenten Log in SQL Server 2017 (14.x) und höher
ALTER DATABASE [DB] SET PERSISTENT_LOG_BUFFER = OFF;
Zum Beispiel:
ALTER DATABASE WideWorldImporters SET PERSISTENT_LOG_BUFFER = OFF;
Entfernen des persistenten Logpuffers in SQL Server 2016 (13.x)
ALTER DATABASE [DB] SET SINGLE_USER;
ALTER DATABASE [DB] REMOVE FILE [DAXlogLogicalName];
ALTER DATABASE [DB] SET MULTI_USER;
Zum Beispiel:
ALTER DATABASE WideWorldImporters SET SINGLE_USER;
ALTER DATABASE WideWorldImporters REMOVE FILE wwi_log2;
ALTER DATABASE WideWorldImporters SET MULTI_USER;
Begrenzungen
Die transparente Datenverschlüsselung (TDE) ist nicht mit dem beständigen Protokollpuffer kompatibel.
Verfügbarkeitsgruppen können diese Funktion nur auf sekundären Replikaten verwenden, da der Protokolllese-Agent auf dem primären System eine Standardprotokollschreibsemantik benötigt. Eine kleine Protokolldatei muss jedoch auf allen Knoten erstellt werden, idealerweise auf DAX-Volumes oder Mount-Punkten. Im Falle eines Failovers muss der Pfad des beständigen Protokollpuffers vorhanden sein, damit das Failover erfolgreich ist.
Vorsicht
Wenn der persistente Protokollpufferpfad oder die Datei während eines Failoverereignisses der Verfügbarkeitsgruppe oder des Datenbankstarts nicht vorhanden ist, gibt die Datenbank einen Status ein RECOVERY PENDING , bis das Problem behoben wurde.
Interoperabilität mit anderen-Funktionen
Wenn sowohl der persistente Protokollpuffer als auch der Hybridpufferpool aktiviert sind und das Startablaufverfolgungskennzeichen 809 gesetzt ist, wird der Hybridpufferpool im sogenannten Direct Write-Modus betrieben.
Operationen der Sicherung und Wiederherstellung
Es gelten normale Wiederherstellungsbedingungen. Wenn der permanente Protokollpuffer in einem DAX-Volume oder -Mount wiederhergestellt wird, funktioniert er weiterhin. Wenn das Protokoll auf einem Nicht-DAX-Datenträgervolume wiederhergestellt wird, kann es mithilfe des ALTER DATABASE REMOVE FILE Befehls sicher entfernt werden.