Configurar a memória persistente (PMEM) para o SQL Server no Windows
Este artigo descreve como configurar a PMEM (memória persistente) para 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 em memória que dependem da memória persistente. Este documento aborda as etapas necessárias para configurar a memória persistente para SQL Server no Windows.
Observação
O termo capacitação foi introduzido para transmitir o conceito de trabalhar com um sistema de arquivos com reconhecimento de memória persistente. Extensões de DAX (acesso direto) ao sistema de arquivos NTFS possibilitam 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, ignorando completamente a pilha de E/S do kernel. Isso é considerado um método de acesso de arquivo "esclarecido". Começando no Windows Server 2022, essa funcionalidade de esclarecimento está disponível nas plataformas Windows e Linux.
Configurar os dispositivos
Criar namespaces para dispositivos PMEM
No Windows, use o utilitário ipmctl
para configurar os discos de PMEM (conhecidos como namespaces no Linux). Você pode encontrar instruções específicas ao Intel® Optane™ aqui. Detalhes sobre o hardware PMEM com suporte em diferentes versões do Windows estão disponíveis em Entender e implantar a memória persistente. Os discos de PMEM devem ser intercalados pelos NVDIMMs da PMEM e podem fornecer tipos diferentes de acesso ao espaço de usuário para regiões de memória no dispositivo. Para obter mais informações sobre conjuntos intercalados no Windows, confira Entender e implantar memória persistente.
Discos de PMEM
Usar o PowerShell para examinar discos de 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 FSDax
desejado. A atomicidade é definida como o padrão de None
em vez de BlockTranslationTable
. Do ponto de vista do suporte, o BTT deve ser habilitado para o log de transações para imitar a semântica do modo de setor necessário. Embora o uso de BTT com NTFS seja geralmente recomendado, o BTT não é recomendado ao usar páginas grandes, como é necessário para DAX.
Get-PmemUnusedRegion | New-PmemDisk -Atomicity None
Formatar os volumes de NTFS
#Initialize PMEM Disk(s)
Get-PmemDisk | Initialize-Disk -PartitionStyle GPT
#Create New Partition(s) and Format the Volume(s) with DAX Mode
Get-PmemDisk[0] | `
New-Partition `
-UseMaximumSize `
-AssignDriveLetter `
-Offset 2097152 `
-Alignment 2097152 | `
Format-Volume `
-FileSystem NTFS `
-IsDAX:$True `
-AllocationUnitSize 2097152
Alinhamento e deslocamento de arquivo
Verificar deslocamentos de partição
Get-Partition | Select-Object DiskNumber, DriveLetter, IsDAX, Offset, Size, PartitionNumber | fl
Verifique o alinhamento de um arquivo específico usando fsutil
. O tamanho do arquivo deve ser um módulo de 2 MB.
fsutil dax queryFileAlignment A:\AdventureWorks2022_A.mdf
Substituir PMEM
Reprovisionar discos de PMEM
Sempre que um módulo de PMEM é substituído, ele precisa ser reprovisionado.
Observação
A remoção de um disco de PMEM resultará na perda de dados nesse disco.
# Remove all PMEM disks
Get-PmemDisk | Remove-PmemDisk -Confirm:$false
Apagar módulos de PMEM
Para apagar permanentemente dados de módulos de PMEM, use o cmdlet Initialize-PmemPhysicalDevice
do PowerShell.
# Reinitialize all PMEM disks
Get-PmemPhysicalDevice | Initialize-PmemPhysicalDevice -Confirm:$false
Confira também
Para outros cmdlets para manipular a PMEM, confira PersistentMemory na documentação de referência do PowerShell.