Lezen in het Engels

Delen via


Permanente logboekbuffer toevoegen aan een database

van toepassing op:SQL Server-

In dit onderwerp wordt beschreven hoe u een permanente logboekbuffer toevoegt aan en verwijdert uit een database in SQL Server 2016 (13.x) en hoger met behulp van Transact-SQL.

Machtigingen

Vereist de ALTER machtiging voor de database.

Permanent geheugenapparaat configureren (Linux)

Een permanent geheugenapparaat configureren in Linux-.

Permanent geheugenapparaat configureren (Windows)

Een permanent geheugenapparaat configureren in Windows.

Een permanente logboekbuffer toevoegen aan een database

Het volume of het koppelpunt voor het nieuwe logboekbestand moet zijn geformatteerd met DAX ingeschakeld (NTFS) of moet worden gekoppeld met de DAX-optie (XFS/EXT4).

Gebruik de volgende syntaxis om een permanente logboekbuffer toe te voegen aan een bestaande database. De syntaxis verschilt, afhankelijk van de versie van SQL Server.

Permanente logboekbuffer toevoegen in SQL Server 2017 (14.x) en hoger

SQL
ALTER DATABASE [DB] SET PERSISTENT_LOG_BUFFER = ON (DIRECTORY_NAME = 'path-to-directory-on-a-DAX-volume');

Bijvoorbeeld:

SQL
ALTER DATABASE WideWorldImporters SET PERSISTENT_LOG_BUFFER = ON (DIRECTORY_NAME = 'F:\SQLTLog');

De naam van de permanente logboekbestandsbuffer wordt automatisch gegenereerd. De grootte van het bestand is altijd 20 megabytes.

Permanente logboekbuffer toevoegen in SQL Server 2016 (13.x)

SQL
ALTER DATABASE [DB] ADD LOG FILE
(
NAME = [DAXlogLogicalName],
FILENAME = 'path-to-log-file-on-a-DAX-volume',
SIZE = 20 MB
);

Bijvoorbeeld:

SQL
ALTER DATABASE WideWorldImporters ADD LOG FILE
(
NAME = wwi_log2, 
FILENAME = 'F:\SQLTLog\wwi_log2.pldf',
SIZE = 20 MB
);

Het logboekbufferbestand op het DAX-volume heeft een grootte van 20 megabytes, ongeacht de grootte die is opgegeven met de opdracht ALTER DATABASE ADD LOG FILE.

Een permanente logboekbuffer uit een database verwijderen

Als u een permanente logboekbuffer veilig wilt verwijderen, moet de database in de modus voor één gebruiker worden geplaatst om de permanente logboekbuffer leeg te maken.

Wanneer u een permanente logboekbuffer verwijdert, wordt het logboekbufferbestand op schijf verwijderd.

De syntaxis verschilt, afhankelijk van de versie van SQL Server.

Permanente logboekbuffer verwijderen in SQL Server 2017 (14.x) en hoger

SQL
ALTER DATABASE [DB] SET PERSISTENT_LOG_BUFFER = OFF;

Bijvoorbeeld:

SQL
ALTER DATABASE WideWorldImporters SET PERSISTENT_LOG_BUFFER = OFF;

Permanente logboekbuffer verwijderen in SQL Server 2016 (13.x)

SQL
ALTER DATABASE [DB] SET SINGLE_USER;
ALTER DATABASE [DB] REMOVE FILE [DAXlogLogicalName];
ALTER DATABASE [DB] SET MULTI_USER;

Bijvoorbeeld:

SQL
ALTER DATABASE WideWorldImporters SET SINGLE_USER;
ALTER DATABASE WideWorldImporters REMOVE FILE wwi_log2;
ALTER DATABASE WideWorldImporters SET MULTI_USER;

Beperkingen

TDE- (Transparent Data Encryption) is niet compatibel met een permanente logboekbuffer.

Beschikbaarheidsgroepen kunnen deze functie alleen gebruiken op secundaire replica's vanwege de vereiste van de logboeklezeragent voor standaard logboekschrijftaal op de primaire. Er moet echter een klein logboekbestand worden gemaakt op alle knooppunten (idealiter op DAX-volumes of koppels). In het geval van een failover moet het permanente logboekbufferpad bestaan om de failover te laten slagen.

Waarschuwing

Als het permanente logboekbufferpad of -bestand niet aanwezig is tijdens een failover-gebeurtenis van een beschikbaarheidsgroep of het opstarten van de database, voert de database een RECOVERY PENDING status in totdat het probleem is opgelost.

Interoperabiliteit met andere PMEM-functies

Wanneer zowel de permanente logbuffer als de Hybrid Buffer Pool zijn ingeschakeld, samen met de start-up traceringsvlag 809, zal de Hybrid Buffer Pool werken in wat bekend staat als de Direct Write modus.

Backup- en herstelbewerkingen

Normale herstelvoorwaarden zijn van toepassing. Als de permanente logboekbuffer wordt hersteld naar een DAX-volume of koppeling, blijft deze functioneren. Als het logboek wordt hersteld naar een niet-DAX-schijfvolume, kan het veilig worden verwijderd met behulp van de opdracht ALTER DATABASE REMOVE FILE.

Volgende stappen