Partilhar via


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.