Nota
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare ad accedere o a cambiare directory.
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare a cambiare directory.
Questo articolo descrive come configurare la memoria persistente (PMEM) per SQL Server 2016 (13.x) e versioni successive in Windows.
Panoramica
SQL Server 2019 (15.x) include diverse funzionalità del database in memoria che si basano sulla memoria persistente. Questo documento illustra i passaggi necessari per configurare la memoria persistente per SQL Server in Windows.
Nota
Il termine Enlightenment è stato introdotto per comunicare il concetto di un file system consapevole della memoria persistente. Le estensioni DAX per il file system NTFS forniscono la capacità di mappare i file in memoria dallo spazio kernel allo spazio utente. Quando un file è mappato alla memoria nello spazio utente, l'applicazione può inviare istruzioni di caricamento/archiviazione direttamente al file mappato alla memoria, ignorando completamente lo stack di I/O del kernel. Questo è considerato un metodo "illuminato" di accesso ai file. A partire da Windows Server 2022, questa funzionalità di riconoscimento dei dati è disponibile nelle piattaforme Windows e Linux.
Configurare i dispositivi
Creare namespace per i dispositivi PMEM
In Windows, usare l'utilità ipmctl per configurare i dischi PMEM (detti namespace in Linux). È possibile trovare istruzioni specifiche di Intel® Optane™ qui. I dettagli sull'hardware PMEM supportato in diverse versioni di Windows sono disponibili in Informazioni e distribuzione della memoria persistente. I dischi PMEM devono essere interlacciati tra i NVDIMM PMEM e possono fornire diversi tipi di accesso allo spazio utente per le aree di memoria sul dispositivo. Per altre informazioni sui set interleaved in Windows, vedere Comprendere e distribuire la 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à di FSDax desiderata. Atomicità è impostata sul valore predefinito di None anziché 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 è in genere consigliato, BTT non è consigliato quando si usano pagine di grandi dimensioni, ad esempio per DAX.
Get-PmemUnusedRegion | New-PmemDisk -Atomicity None
Formattare i volumi 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
Allineamento e offset dei file
Controllare gli offset di partizione
Get-Partition | Select-Object DiskNumber, DriveLetter, IsDAX, Offset, Size, PartitionNumber | Format-List
Verificare l'allineamento di un file particolare usando fsutil. La dimensione del file deve essere un multiplo di 2 MB.
fsutil dax queryFileAlignment A:\AdventureWorks2022_A.mdf
Sostituire PMEM
Riprovvisionare i 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 di PowerShell Initialize-PmemPhysicalDevice.
# Reinitialize all PMEM disks
Get-PmemPhysicalDevice | Initialize-PmemPhysicalDevice -Confirm:$false