Delen via


Permanent geheugen (PMEM) configureren voor SQL Server in Windows

In dit artikel wordt beschreven hoe u het permanente geheugen (PMEM) configureert voor SQL Server 2016 (13.x) en hoger in Windows.

Overzicht

SQL Server 2019 (15.x) heeft verschillende in-memory databasefuncties die afhankelijk zijn van permanent geheugen. In dit document worden de stappen beschreven die nodig zijn voor het configureren van permanent geheugen voor SQL Server in Windows.

Notitie

De term inzicht werd geïntroduceerd om het concept over te brengen van werken met een persistent geheugenbewust bestandssysteem. Dax-extensies (Directe toegang) naar het NTFS-bestandssysteem bieden de mogelijkheid om geheugentoewijzingsbestanden van kernelruimte naar gebruikersruimte te geheugen. Wanneer een bestand is toegewezen aan de gebruikersruimte, kan de toepassing instructies voor laden/opslaan rechtstreeks naar het toegewezen geheugenbestand uitgeven, waardoor de kernel-I/O-stack volledig wordt overgeslagen. Dit wordt beschouwd als een 'verlichte' methode voor bestandstoegang. Vanaf Windows Server 2022 is deze verlichting functionaliteit beschikbaar is op zowel Windows- als Linux-platforms.

De apparaten configureren

Naamruimten maken voor PMEM-apparaten

Gebruik in Windows het hulpprogramma ipmctl om de PMEM-schijven (ook wel naamruimten in Linux genoemd) te configureren. U vindt hier specifieke instructies voor Intel® Optane™ . Details over ondersteunde PMEM-hardware op verschillende Windows-versies bevinden zich op Permanente geheugen-begrijpen en implementeren. PMEM-schijven moeten worden afgewisseld over PMEM NVDIMM's en kunnen verschillende typen gebruikersruimte-toegang bieden tot geheugengebieden op het apparaat. Voor meer informatie over interleaved sets in Windows, zie Begrijpen en implementeren van permanent geheugen.

PMEM-schijven

PowerShell gebruiken om PMEM-schijven te onderzoeken

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

Standaard gebruikt New-PmemDisk de gewenste FSDax modus. Atomiciteit is ingesteld op de standaardwaarde van None in plaats van BlockTranslationTable. Vanuit het oogpunt van ondersteuning moet BTT zijn ingeschakeld voor het transactielogboek om de semantiek van de vereiste sectormodus na te bootsen. Hoewel het gebruik van BTT- met NTFS over het algemeen wordt aanbevolen, wordt BTT niet aanbevolen bij het gebruik van grote pagina's, zoals vereist voor DAX-.

Get-PmemUnusedRegion | New-PmemDisk -Atomicity None

De NTFS-volumes opmaken


#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

Bestandsuitlijning en offset

Partitie-offset(s) controleren

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

Controleer de bestandsuitlijning van een bepaald bestand met behulp van fsutil. Onze bestandsgrootte moet een modulo van 2 MB zijn.

fsutil dax queryFileAlignment A:\AdventureWorks2022_A.mdf

PMEM vervangen

PMEM-schijven opnieuw inrichten

Wanneer een PMEM-module wordt vervangen, moet deze opnieuw worden ingericht.

Notitie

Als u een PMEM-schijf verwijdert, gaan er gegevens verloren op die schijf.

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

PMEM-modules wissen

Als u gegevens definitief wilt wissen uit PMEM-modules, gebruikt u de Initialize-PmemPhysicalDevice PowerShell-cmdlet.

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

Zie ook

Zie PersistentMemory- in de PowerShell-referentiedocumentatie voor andere cmdlets voor het bewerken van PMEM.