Adicionar buffer de log persistente a um banco de dados
Aplica-se: 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.