Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de changer d’annuaire.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer d’annuaire.
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