Partager via


Ajouter une mémoire tampon de journal persistante à une base de données

S'applique à :SQL Server

Cette rubrique explique comment ajouter et supprimer une mémoire tampon de journal persistante dans une base de données dans SQL Server 2016 (13.x) et versions ultérieures à l’aide de Transact-SQL.

autorisations

Nécessite l’autorisation ALTER sur la base de données.

Configurer un module de mémoire persistante (Linux)

Pour configurer un module de mémoire persistante dans Linux.

Configurer un module de mémoire persistante (Windows)

Pour configurer un module de mémoire persistante dans Windows.

Ajouter une mémoire tampon de journal persistante à une base de données

Le volume ou le point de montage du nouveau fichier journal doit être mis en forme avec DAX activé (NTFS) ou monté avec l’option DAX (XFS/EXT4).

Utilisez la syntaxe suivante pour ajouter une mémoire tampon de journal persistante à une base de données existante. La syntaxe diffère selon la version de SQL Server.

Ajouter une mémoire tampon de journal persistante dans SQL Server 2017 (14.x) et versions ultérieures

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

Par exemple :

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

Le nom de la mémoire tampon du fichier journal persistant est généré automatiquement. La taille du fichier est toujours de 20 mégaoctets.

Ajouter une mémoire tampon de journal persistante dans 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
);

Par exemple :

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

Le fichier de tampon de log sur le volume DAX sera fixé à 20 mégaoctets, quelle que soit la taille spécifiée avec la commande ALTER DATABASE ADD LOG FILE.

Supprimer une mémoire tampon de journal persistante d’une base de données

Pour supprimer en toute sécurité une mémoire tampon de journal persistante, la base de données doit être placée en mode mono-utilisateur pour vider la mémoire tampon du journal persistant.

Lorsque vous supprimez une mémoire tampon de journal persistante, le fichier de mémoire tampon du journal sur le disque est supprimé.

La syntaxe diffère selon la version de SQL Server.

Supprimer la mémoire tampon de journal persistante dans SQL Server 2017 (14.x) et versions ultérieures

ALTER DATABASE [DB] SET PERSISTENT_LOG_BUFFER = OFF;

Par exemple :

ALTER DATABASE WideWorldImporters SET PERSISTENT_LOG_BUFFER = OFF;

Supprimer la mémoire tampon de journal persistante dans SQL Server 2016 (13.x)

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

Par exemple :

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

Limites

Transparent Data Encryption (TDE) n’est pas compatible avec la mémoire tampon de journal persistante.

Les groupes de disponibilité ne peuvent utiliser cette fonctionnalité que sur des réplicas secondaires en raison de l'agent de lecture de journaux qui exige une sémantique d’écriture de journal normale sur le réplica principal. Toutefois, un petit fichier journal doit être créé sur tous les nœuds (idéalement sur les volumes ou montages DAX). En cas de basculement, le chemin de la mémoire tampon du journal persistant doit exister, afin que le basculement réussisse.

Caution

Si le chemin du tampon de journal persistant ou le fichier n'est pas présent lors d'un événement de basculement de groupe de disponibilité ou lors de la mise en route de la base de données, celle-ci passe en état RECOVERY PENDING jusqu'à ce que le problème soit résolu.

Interopérabilité avec d’autres fonctionnalités PMEM

Lorsque la mémoire tampon de journal persistante et le pool de mémoires tampons hybrides sont activés, ainsi que l’indicateur de trace de démarrage 809, le pool de mémoires tampons hybrides fonctionne en mode écriture directe .

Opérations de sauvegarde et de restauration

Les conditions de restauration normales s’appliquent. Si la mémoire tampon de journal persistante est restaurée sur un volume ou un montage DAX, elle continue de fonctionner. Si le journal est restauré sur un volume de disque non DAX, il peut être supprimé en toute sécurité à l’aide de la ALTER DATABASE REMOVE FILE commande.

Étapes suivantes