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.