Partager via


Configurer la mémoire persistante (PMEM) pour SQL Server sur Windows

Cet article explique comment configurer la mémoire persistante (PMEM) pour SQL Server 2016 (13.x) et versions ultérieures sur Windows.

Aperçu

SQL Server 2019 (15.x) a plusieurs fonctionnalités de base de données en mémoire qui s’appuient sur la mémoire persistante. Ce document décrit les étapes requises pour configurer la mémoire persistante pour SQL Server sur Windows.

Note

Le terme lumière a été introduit pour transmettre le concept d’utilisation d’un système de fichiers prenant en charge la mémoire persistante. Les extensions d’accès direct (DAX) au système de fichiers NTFS permettent de mapper les fichiers de l’espace noyau à l’espace utilisateur. Lorsqu’un fichier est mappé en espace utilisateur, l’application peut émettre des instructions de chargement/de magasin directement sur le fichier mappé en mémoire, en contournant complètement la pile d’E/S du noyau. Il s’agit d’une méthode d’accès aux fichiers « éclairé ». À compter de Windows Server 2022, cette fonctionnalité d’éclairage est disponible sur les plateformes Windows et Linux.

Configurer les appareils

Créer des espaces de noms pour les appareils PMEM

Dans Windows, utilisez l’utilitaire ipmctl pour configurer les disques PMEM (appelés espaces de noms dans Linux). Pour plus d’informations, consultez Comment approvisionner la mémoire persistante Intel® Optane™ DC pour les invités KVM/QEMU. Les détails sur le matériel PMEM pris en charge sur différentes versions de Windows sont à Comprendre et déployer la mémoire persistante. Les disques PMEM doivent être entrelacés entre les machines virtuelles NVDIM PMEM et peuvent fournir différents types d’accès à l’espace utilisateur aux régions de mémoire sur l’appareil. Pour plus d’informations sur les ensembles entrelacés dans Windows, consultez Comprendre et déployer la mémoire persistante.

Disques PMEM

Utiliser PowerShell pour examiner les disques 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 et DAX

Par défaut, New-PmemDisk utilise le mode souhaité FSDax . L’atomicité est définie sur la valeur par défaut plutôt None que BlockTranslationTablesur . Du point de vue de la prise en charge, BTT doit être activé pour le journal des transactions afin d’imiter la sémantique du mode secteur nécessaire. Bien que l’utilisation de BTT avec NTFS soit généralement recommandée, BTT n’est pas recommandé lors de l’utilisation de pages volumineuses, telles que requises pour DAX.

Get-PmemUnusedRegion | New-PmemDisk -Atomicity None

Mettre en forme les 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

Alignement et décalage des fichiers

Vérifier les décalages de partition

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

Vérifiez l’alignement du fichier d’un fichier particulier à l’aide fsutilde . Notre taille de fichier doit être un modulo de 2 Mo.

fsutil dax queryFileAlignment A:\AdventureWorks2022_A.mdf

Remplacer PMEM

Reprovisionner des disques PMEM

Chaque fois qu’un module PMEM est remplacé, il doit être reprovisionné.

Note

La suppression d’un disque PMEM entraîne la perte de données sur ce disque.

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

Effacer les modules PMEM

Pour effacer définitivement les données des modules PMEM, utilisez l’applet Initialize-PmemPhysicalDevice de commande PowerShell.

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