Configurar memória persistente (PMEM) para SQL Server no Windows
Este artigo descreve como configurar a memória persistente (PMEM) 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 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 acesso direto (DAX) 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 ficheiro está mapeado na memória do espaço do utilizador, a aplicação pode emitir instruções de carga/armazenamento diretamente no ficheiro mapeado na memória, ignorando completamente a pilha de E/S do kernel. Isso é considerado um método de acesso a arquivos "esclarecido". A partir do Windows Server 2022, esta funcionalidade de avanço está disponível em ambas as plataformas Windows e Linux.
Configurar os dispositivos
Criar namespaces para dispositivos PMEM
No Windows, use o utilitário ipmctl
para configurar os discos PMEM (referidos como namespaces no Linux). Você pode encontrar instruções específicas do Intel® Optane™ aqui. Os detalhes sobre o hardware PMEM suportado em diferentes versões do Windows estão em Compreender e implantar memória persistente. Os discos PMEM devem ser intercalados entre NVDIMMs PMEM e podem fornecer diferentes tipos de acesso ao espaço do usuário para regiões de memória no dispositivo. Para obter mais informações sobre conjuntos intercalados no Windows, consulte Compreender e utilizar a 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 de FSDax
desejado. A atomicidade é definida como padrão de None
em vez de BlockTranslationTable
. Do ponto de vista do suporte, o BTT deve ser ativado para o registo 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
Formatando o(s) volume(s) 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 arquivos
Verificar deslocamento(s) de partição
Get-Partition | Select-Object DiskNumber, DriveLetter, IsDAX, Offset, Size, PartitionNumber | fl
Verifique o alinhamento de um arquivo específico usando fsutil
. Nosso tamanho de arquivo deve ser um módulo de 2 MB.
fsutil dax queryFileAlignment A:\AdventureWorks2022_A.mdf
Substituindo o PMEM
Reprovisionar os 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 os dados dos módulos PMEM, use o cmdlet Initialize-PmemPhysicalDevice
PowerShell.
# Reinitialize all PMEM disks
Get-PmemPhysicalDevice | Initialize-PmemPhysicalDevice -Confirm:$false
Ver também
Para outros cmdlets para manipular o PMEM, consulte PersistentMemory na documentação de referência do PowerShell.