Compartilhar via


Configurar o PMEM (memória persistente) para o SQL Server no Windows

Este artigo descreve como configurar o PMEM (memória persistente) para o SQL Server 2016 (13.x) e superior no Windows.

Visão geral

O SQL Server 2019 (15.x) tem vários recursos de banco de dados na memória que dependem da memória persistente. Este documento aborda as etapas necessárias para configurar a memória persistente para o SQL Server no Windows.

Observação

O termo esclarecimento foi introduzido para transmitir o conceito de trabalhar com um sistema de arquivos com reconhecimento de memória persistente. As extensões de DAX (acesso direto) ao sistema de arquivos NTFS fornecem a capacidade de mapear arquivos de memória do espaço do kernel para o espaço do usuário. Quando um arquivo é mapeado para o espaço do usuário, o aplicativo pode emitir instruções de carregamento/armazenamento diretamente para o arquivo mapeado de memória, ignorando completamente a pilha de E/S do kernel. Isso é considerado um método de acesso a arquivos "habilitado". A partir do Windows Server 2022, essa funcionalidade de iluminação está disponível nas plataformas Windows e Linux.

Configurar os dispositivos

Criar namespaces para dispositivos PMEM

No Windows, use o ipmctl utilitário para configurar os discos PMEM (conhecidos como namespaces no Linux). Para obter mais informações, consulte Como provisionar a Memória Persistente Intel® Optane™ DC para convidados KVM/QEMU. Os detalhes sobre o hardware PMEM com suporte em diferentes versões do Windows estão em Entender e implantar memória persistente. Os discos PMEM devem ser intercalados entre NVDIMMs pmem e podem fornecer diferentes tipos de acesso de espaço do usuário a regiões de memória no dispositivo. Para obter mais informações sobre conjuntos intercalados no Windows, consulte Entender e implantar memória persistente.

Discos PMEM

Usar o PowerShell para examinar discos PMEM

#Get information about all physical disks
Get-PhysicalDisk

#Review logical configuration of PMEM disks
Get-PmemDisk

#Get information about PMEM devices
Get-PmemPhysicalDevice

#Get information about unused PMEM regions
Get-PmemUnusedRegion

BTT e DAX

Por padrão, New-PmemDisk usará o modo desejado FSDax . Atomicidade é definida como o padrão de em vez Nonede BlockTranslationTable . Do ponto de vista de suporte, o BTT deve ser habilitado para o log de transações, para imitar a semântica do modo de setor necessária. Embora o uso de BTT com NTFS seja geralmente recomendado, BTT não é recomendado ao usar páginas grandes, como necessário para DAX.

Get-PmemUnusedRegion | New-PmemDisk -Atomicity None

Formatar os volumes NTFS

#Initialize PMEM disks
Get-PmemDisk | Initialize-Disk -PartitionStyle GPT

#Create new partitions and format the volumes with DAX Mode
$partition = @{ UseMaximumSize = $true; AssignDriveLetter = $true; Offset = 2097152; Alignment = 2097152 }
$volume = @{ FileSystem = 'NTFS'; IsDAX = $true; AllocationUnitSize = 2097152 }
Get-PmemDisk[0] | New-Partition @partition | Format-Volume @volume

Alinhamento e deslocamento do arquivo

Verificar deslocamentos de partição

Get-Partition | Select-Object DiskNumber, DriveLetter, IsDAX, Offset, Size, PartitionNumber | Format-List

Verifique o alinhamento do arquivo de um arquivo específico usando fsutil. Nosso tamanho de arquivo deve ser um modulo de 2 MB.

fsutil dax queryFileAlignment A:\AdventureWorks2022_A.mdf

Substituir PMEM

Reprovisionar discos PMEM

Sempre que um módulo PMEM é substituído, ele precisa ser reprovisionado.

Observação

A remoção de um disco PMEM resultará na perda de dados nesse disco.

# Remove all PMEM disks
Get-PmemDisk | Remove-PmemDisk -Confirm:$false

Apagar módulos PMEM

Para apagar permanentemente dados de módulos PMEM, use o cmdlet do Initialize-PmemPhysicalDevice PowerShell.

# Reinitialize all PMEM disks
Get-PmemPhysicalDevice | Initialize-PmemPhysicalDevice -Confirm:$false