Configurare la memoria persistente per SQL Server in Windows
Questo articolo descrive come configurare la memoria persistente per SQL Server 2016 (13.x) e versioni successive in Windows.
Panoramica
SQL Server 2019 (15.x) include varie funzionalità nel database in memoria che sfruttano la memoria persistente. In questo documento vengono illustrati i passaggi necessari per configurare la memoria persistente per SQL Server in Windows.
Nota
Il termine consapevolezza è stato usato per spiegare il concetto relativo all'uso di un file system in grado di riconoscere la memoria persistente. Le estensioni di accesso diretto (DAX) del file system NTFS consente di eseguire il mapping dei file dal kernel allo spazio utente. Quando un file è mappato nella memoria dello spazio utente, l'applicazione può inviare istruzioni di caricamento/archiviazione direttamente al file mappato nella memoria, ignorando completamente lo stack di I/O del kernel. Si tratta di un metodo di accesso ai file “con risconoscimento”. A partire da Windows Server 2022, questa funzionalità di riconoscimento è disponibile nelle piattaforme Windows e Linux.
Configurare i dispositivi
Creare spazi dei nomi per i dispositivi con memoria persistente
In Windows, usare l'utilità ipmctl
per configurare i dischi PMEM (detti “spazi dei nomi” in Linux). Le istruzioni specifiche di Intel® Optane™ sono disponibili qui. I dettagli sull'hardware PMEM supportato in diverse versioni di Windows sono disponibili in Informazioni e distribuzione della memoria persistente. I dischi PMEM sono interfoliati tra i moduli NVDIMM di memoria persistente e possono offrire diversi tipi di accesso dello spazio utente alle aree di memoria sul dispositivo. Per altre informazioni sui set interleaved in Windows, vedere Informazioni e distribuzione della memoria persistente.
Dischi PMEM
Usare PowerShell per esaminare i dischi 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
Per impostazione predefinita, New-PmemDisk
userà la modalità FSDax
desiderata. Atomicità è impostata sul valore predefinito di None
anziché su BlockTranslationTable
. Dal punto di vista del supporto, BTT deve essere abilitato per il log delle transazioni, per simulare la semantica della modalità settore richiesta. Anche se l'uso di BTT con NTFS è generalmente consigliato, BTT non è consigliato quando si usano pagine di grandi dimensioni, ad esempio per DAX.
Get-PmemUnusedRegion | New-PmemDisk -Atomicity None
Formattazione dei volumi 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
Allineamento e offset dei file
Controllare gli offset della partizione
Get-Partition | Select-Object DiskNumber, DriveLetter, IsDAX, Offset, Size, PartitionNumber | fl
Controllare l'allineamento del file di un file specifico usando fsutil
. Le dimensioni del file devono essere di un modulo di 2 MB.
fsutil dax queryFileAlignment A:\AdventureWorks2022_A.mdf
Sostituzione di PMEM
Eseguire di nuovo il provisioning dei dischi PMEM
Ogni volta che viene sostituito un modulo PMEM, è necessario eseguirne nuovamente il provisioning.
Nota
La rimozione di un disco PMEM comporterà la perdita di dati su tale disco.
# Remove all PMEM disks
Get-PmemDisk | Remove-PmemDisk -Confirm:$false
Cancellare i moduli PMEM
Per cancellare definitivamente i dati dai moduli PMEM, usare il cmdlet PowerShell Initialize-PmemPhysicalDevice
.
# Reinitialize all PMEM disks
Get-PmemPhysicalDevice | Initialize-PmemPhysicalDevice -Confirm:$false
Vedi anche
Per altri cmdlet per la modifica di PMEM, vedere PersistentMemory nella documentazione di riferimento di PowerShell.