Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se:SQL Server
Este tópico descreve como adicionar e remover um buffer de log persistente a um banco de dados no SQL Server 2016 (13.x) e acima usando o Transact-SQL.
Permissões
Requer a ALTER permissão 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 volume ou o ponto de montagem do novo arquivo de log deve ser formatado com o DAX habilitado (NTFS) ou montado com a opção DAX (XFS/EXT4).
Use a sintaxe a seguir para adicionar um buffer de log persistente a um banco de dados existente. A sintaxe é diferente dependendo da versão do SQL Server.
Adicionar buffer de log persistente no SQL Server 2017 (14.x) e posterior
ALTER DATABASE [DB] SET PERSISTENT_LOG_BUFFER = ON (DIRECTORY_NAME = 'path-to-directory-on-a-DAX-volume');
Por exemplo:
ALTER DATABASE WideWorldImporters SET PERSISTENT_LOG_BUFFER = ON (DIRECTORY_NAME = 'F:\SQLTLog');
O nome do buffer de arquivo de log persistente é gerado automaticamente. O tamanho do arquivo é sempre de 20 megabytes.
Adicionar buffer de log persistente no 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
);
Por exemplo:
ALTER DATABASE WideWorldImporters ADD LOG FILE
(
NAME = wwi_log2,
FILENAME = 'F:\SQLTLog\wwi_log2.pldf',
SIZE = 20 MB
);
O arquivo de buffer de log no volume DAX será dimensionado em 20 megabytes, independentemente do tamanho especificado com o ALTER DATABASE ADD LOG FILE comando.
Remover um buffer de log persistente de um banco de dados
Para remover com segurança um buffer de log persistente, o banco de dados deve ser colocado no modo de usuário único para esvaziar o buffer de log persistente.
Quando você remove um buffer de log persistente, o arquivo de buffer de log no disco é excluído.
A sintaxe é diferente dependendo da versão do SQL Server.
Remover o buffer de log persistente no SQL Server 2017 (14.x) e versões posteriores.
ALTER DATABASE [DB] SET PERSISTENT_LOG_BUFFER = OFF;
Por exemplo:
ALTER DATABASE WideWorldImporters SET PERSISTENT_LOG_BUFFER = OFF;
Remover o buffer de log persistente no SQL Server 2016 (13.x)
ALTER DATABASE [DB] SET SINGLE_USER;
ALTER DATABASE [DB] REMOVE FILE [DAXlogLogicalName];
ALTER DATABASE [DB] 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
A 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, um 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.
Cuidado
Se o caminho ou arquivo do buffer de log persistente não estiver presente durante um evento de failover do Grupo de Disponibilidade ou inicialização de banco de dados, o banco de dados entrará em um RECOVERY PENDING estado até que o problema seja resolvido.
Interoperabilidade com outros recursos do PMEM
Quando ambos, o buffer de log persistente e o Pool de Buffer Híbrido, estiverem habilitados, juntamente com o sinalizador de rastreamento de inicialização 809, o Pool de Buffer Híbrido operará no que é conhecido como modo 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á funcionando. Se o log for restaurado para um volume de disco não DAX, ele poderá ser removido com segurança usando o ALTER DATABASE REMOVE FILE comando.