Dela via


Konfigurera beständigt minne (PMEM) för SQL Server i Windows

Den här artikeln beskriver hur du konfigurerar det beständiga minnet (PMEM) för SQL Server 2016 (13.x) och senare i Windows.

Överblick

SQL Server 2019 (15.x) har flera minnesinterna databasfunktioner som förlitar sig på beständigt minne. Det här dokumentet beskriver de steg som krävs för att konfigurera beständigt minne för SQL Server i Windows.

Notera

Termen insikt introducerades för att beskriva idén om att arbeta med ett beständigt minnesmedvetet filsystem. Dax-tillägg (Direktåtkomst) till NTFS-filsystemet ger möjlighet att mappa filer från kernelutrymme till användarutrymme. När en fil mappas till användarutrymmet kan programmet utfärda instruktioner för inläsning/lagring direkt till den minnesmappade filen och kringgå kernel-I/O-stacken helt. Detta anses vara en "upplyst" filåtkomstmetod. Från och med Windows Server 2022 är den här upplysning funktioner tillgängliga på både Windows- och Linux-plattformar.

Konfigurera enheterna

Skapa namnområden för PMEM-enheter

I Windows använder du verktyget ipmctl för att konfigurera PMEM-diskarna (kallas namnrymder i Linux). Du hittar Intel® Optane-specifika™ instruktioner här. Information om PMEM-maskinvara som stöds i olika Windows-versioner finns på Förstå och distribuera beständigt minne. PMEM-diskar bör interfolieras mellan PMEM NVDIMMs och kan ge olika typer av användarutrymmesåtkomst till minnesregioner på enheten. Mer information om mellanlagrade uppsättningar i Windows finns i Förstå och distribuera beständigt minne.

PMEM-diskar

Använda PowerShell för att undersöka PMEM-diskar

#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 och DAX

Som standard använder New-PmemDisk önskat FSDax läge. Atomicitet är inställt på standardvärdet för None i stället för BlockTranslationTable. Ur ett supportperspektiv måste BTT aktiveras i transaktionsloggen för att efterlikna den nödvändiga sektorlägessemantiken. Även om användningen av BTT- tillsammans med NTFS vanligtvis rekommenderas, är det dock inte rekommenderat att använda BTT när du har att göra med stora sidor, som krävs för DAX-.

Get-PmemUnusedRegion | New-PmemDisk -Atomicity None

Formatera NTFS-volymerna


#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

Filjustering och förskjutning

Kontrollera partitionsförskjutning/ar

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

Kontrollera filjusteringen för en viss fil med hjälp av fsutil. Filstorleken måste vara en multipel av 2 MB.

fsutil dax queryFileAlignment A:\AdventureWorks2022_A.mdf

Ersätta PMEM

Ominstallera PMEM-diskar

När en PMEM-modul ersätts måste den återskapas.

Notera

Om du tar bort en PMEM-disk förlorar du data på disken.

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

Radera PMEM-moduler

Om du vill radera data permanent från PMEM-moduler använder du cmdleten Initialize-PmemPhysicalDevice PowerShell.

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

Se även

Andra cmdletar för att manipulera PMEM finns i PersistentMemory- i PowerShell-referensdokumentationen.