Adicionar buffer de log persistente a um banco de dados

Aplica-se a: SQL Server

Este tópico descreve como adicionar um buffer de log persistente a um banco de dados no SQL Server 2019 (15.x) e versões superiores usando o Transact-SQL.

Permissões

Requer a permissão ALTER no banco de dados.

Configurar o dispositivo de memória persistente (Linux)

Para configurar um dispositivo de memória persistente no Linux.

Configurar o dispositivo de memória persistente (Windows)

Para configurar um dispositivo de memória persistente no Windows.

Adicionar um buffer de log persistente a um banco de dados

O exemplo a seguir adiciona um buffer de log persistente.

ALTER DATABASE <MyDB> 
  ADD LOG FILE 
  (
    NAME = <DAXlog>, 
    FILENAME = '<Filepath to DAX Log File>', 
    SIZE = 20MB
  );

Por exemplo:

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

O arquivo de log no volume DAX terá o tamanho de 20 MB, independentemente do tamanho especificado com o comando ADD FILE.

O volume ou a montagem em que o novo arquivo de log é colocado deve ser formatado com DAX habilitado (NTFS) ou montado com a opção DAX (XFS/EXT4).

Remover buffer de log persistente

Para remover com segurança um buffer de log persistente, o banco de dados deve ser colocado no modo de usuário único para drenar o buffer de log persistente.

O exemplo a seguir remove um buffer de log persistente.

ALTER DATABASE <MyDB> SET SINGLE_USER;
ALTER DATABASE <MyDB> REMOVE FILE <DAXlog>;
ALTER DATABASE <MyDB> SET MULTI_USER;

Por exemplo:

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

Limitações

O TDE (Transparent Data Encryption) não é compatível com o buffer de log persistente.

Grupos de disponibilidade só podem usar esse recurso em réplicas secundárias devido ao requisito do agente de leitura de log para a semântica de gravação de log padrão no primário. No entanto, o pequeno arquivo de log deve ser criado em todos os nós (idealmente em volumes ou montagens DAX). No caso de um failover, o caminho do buffer de log persistente deve existir para que o failover seja bem-sucedido.

Nos casos em que o caminho ou arquivo não está presente durante um evento de failover do Grupo de Disponibilidade ou na inicialização do banco de dados, o banco de dados entrará em um estado RECOVERY PENDING até que o problema seja resolvido.

Interoperabilidade com outros recursos do PMEM

Quando o buffer de log persistente e o Pool de Buffers Híbrido estiverem habilitados em conjunto, juntamente com o sinalizador de rastreamento de inicialização 809, o Pool de buffers híbrido operará no que é conhecido como modo de Gravação Direta.

Operações de backup e restauração

As condições de restauração normais se aplicam. Se o buffer de log persistente for restaurado para um volume ou montagem DAX, ele continuará a funcionar, caso contrário, ele poderá ser removido com segurança.

Próximas etapas