Anmerkung
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird beschrieben, wie Sie den persistenten Speicher (PMEM) für SQL Server 2016 (13.x) und höher unter Windows konfigurieren.
Überblick
SQL Server 2019 (15.x) verfügt über mehrere In-Memory-Datenbankfeatures, die auf beständigem Arbeitsspeicher basieren. In diesem Dokument werden die Schritte behandelt, die zum Konfigurieren des beständigen Speichers für SQL Server unter Windows erforderlich sind.
Hinweis
Der Begriff "Erleuchtung " wurde eingeführt, um das Konzept der Arbeit mit einem beständigen Speicherfähigen Dateisystem zu vermitteln. Dax-Erweiterungen (Direct Access) für das NTFS-Dateisystem bieten die Möglichkeit, Dateien vom Kernelspeicher zum Benutzerbereich zuzuordnen. Wenn eine Datei dem Benutzerspeicher zugeordnet ist, kann die Anwendung Lade-/Speicheranweisungen direkt an die zugeordnete Speicherdatei ausgeben und den Kernel-E/A-Stapel vollständig umgehen. Dies gilt als "optimierte" Dateizugriffsmethode. Ab Windows Server 2022 ist diese Aufklärungsfunktion sowohl auf Windows- als auch auf Linux-Plattformen verfügbar.
Konfigurieren der Geräte
Erstellen von Namespaces für PMEM-Geräte
Verwenden Sie in Windows das ipmctl Hilfsprogramm zum Konfigurieren der PMEM-Datenträger (als Namespaces in Linux bezeichnet). Weitere Informationen finden Sie unter Anleitung zur Bereitstellung von Intel® Optane™ DC Persistent Memory für KVM/QEMU-Gäste. Details zur unterstützten PMEM-Hardware in verschiedenen Windows-Versionen sind unter "Grundlegendes" und Bereitstellen des beständigen Arbeitsspeichers. PMEM-Datenträger sollten über PMEM NVDIMMs hinweg interleaviert werden und können verschiedene Arten von Benutzerspeicherzugriff auf Speicherbereiche auf dem Gerät bereitstellen. Weitere Informationen zu interleavierten Sätzen in Windows finden Sie unter Grundlegendes und Bereitstellen des beständigen Arbeitsspeichers.
PMEM-Datenträger
Verwenden von PowerShell zum Untersuchen von PMEM-Datenträgern
#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 und DAX
Standardmäßig New-PmemDisk wird der gewünschte FSDax Modus verwendet. Die Atomität wird auf die Standardeinstellung None anstelle von BlockTranslationTable. Aus Unterstützungsperspektive muss BTT für das Transaktionsprotokoll aktiviert sein, um die erforderliche Sektormodussemantik nachzuahmen. Obwohl die Verwendung von BTT mit NTFS im Allgemeinen empfohlen wird, wird BTT nicht empfohlen, wenn große Seiten verwendet werden, z. B. erforderlich für DAX.
Get-PmemUnusedRegion | New-PmemDisk -Atomicity None
Formatieren der NTFS-Volumes
#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
Dateiausrichtung und -offset
Überprüfen von Partitionsversatzen
Get-Partition | Select-Object DiskNumber, DriveLetter, IsDAX, Offset, Size, PartitionNumber | Format-List
Überprüfen Sie die Dateiausrichtung einer bestimmten Datei mithilfe fsutilvon . Unsere Dateigröße muss ein Modulo von 2 MB sein.
fsutil dax queryFileAlignment A:\AdventureWorks2022_A.mdf
PMEM ersetzen
Neu bereitstellen von PMEM-Datenträgern
Jedes Mal, wenn ein PMEM-Modul ersetzt wird, muss es neu bereitgestellt werden.
Hinweis
Das Entfernen eines PMEM-Datenträgers führt zum Verlust von Daten auf diesem Datenträger.
# Remove all PMEM disks
Get-PmemDisk | Remove-PmemDisk -Confirm:$false
Löschen von PMEM-Modulen
Verwenden Sie das Initialize-PmemPhysicalDevice PowerShell-Cmdlet, um Daten aus PMEM-Modulen dauerhaft zu löschen.
# Reinitialize all PMEM disks
Get-PmemPhysicalDevice | Initialize-PmemPhysicalDevice -Confirm:$false