Konfigurowanie pamięci trwałej (PMEM) dla programu SQL Server w systemie Windows
W tym artykule opisano sposób konfigurowania pamięci trwałej (PMEM) dla programu SQL Server 2016 (13.x) i nowszych w systemie Windows.
Przegląd
Program SQL Server 2019 (15.x) ma kilka funkcji bazy danych w pamięci, które opierają się na pamięci trwałej. W tym dokumencie opisano kroki wymagane do skonfigurowania pamięci trwałej dla programu SQL Server w systemie Windows.
Uwaga
Termin uświadomienia został wprowadzony w celu przekazania koncepcji pracy z trwałym systemem plików obsługującym pamięć. Rozszerzenia bezpośredniego dostępu (DAX) do systemu plików NTFS zapewniają możliwość mapowania pamięci plików z obszaru jądra na miejsce użytkownika. Gdy plik jest zamapowany do przestrzeni użytkownika, aplikacja może wydać instrukcje ładowania/przechowywania bezpośrednio do zamapowanego pliku w pamięci, całkowicie pomijając stos I/O jądra. Jest to uważane za "oświeconą" metodę dostępu do plików. Od systemu Windows Server 2022 ta funkcja usprawnienia jest dostępna zarówno na platformach Windows, jak i Linux.
Konfigurowanie urządzeń
Tworzenie przestrzeni nazw dla urządzeń PMEM
W systemie Windows użyj narzędzia ipmctl
, aby skonfigurować dyski PMEM (nazywane przestrzeniami nazw w systemie Linux). Instrukcje specyficzne dla środowiska Intel® Optane™ można znaleźć tutaj. Szczegółowe informacje na temat obsługiwanego sprzętu PMEM w różnych wersjach systemu Windows dostępne są w Zrozumienie i wdrażanie pamięci trwałej. Dyski PMEM powinny być przeplatane między dyskami NVDIMM PMEM i mogą zapewnić różne typy dostępu miejsca użytkownika do regionów pamięci na urządzeniu. Aby uzyskać więcej informacji na temat przeplatanych zestawów w systemie Windows, zobacz Opis i wdrażanie pamięci trwałej.
Dyski PMEM
Używanie programu PowerShell do badania dysków 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 i DAX
Domyślnie New-PmemDisk
będzie używać żądanego trybu FSDax
. Niepodzielność jest ustawiona na wartość domyślną None
, a nie BlockTranslationTable
. Z punktu widzenia obsługi należy włączyć protokół BTT dla dziennika transakcji, aby naśladować wymaganą semantykę trybu sektora. Chociaż używanie BTT z systemem plików NTFS jest zwykle zalecane, BTT nie jest zalecane w przypadku korzystania z dużych stron, takich jak wymagane dla DAX.
Get-PmemUnusedRegion | New-PmemDisk -Atomicity None
Formatowanie woluminów NTFS
#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
Wyrównanie i przesunięcie pliku
Sprawdź przesunięcia partycji
Get-Partition | Select-Object DiskNumber, DriveLetter, IsDAX, Offset, Size, PartitionNumber | fl
Sprawdź wyrównanie konkretnego pliku za pomocą fsutil
. Rozmiar pliku musi być wielokrotnością 2 MB.
fsutil dax queryFileAlignment A:\AdventureWorks2022_A.mdf
Zastępowanie PMEM
Ponowne aprovisionowanie dysków PMEM
Za każdym razem, gdy moduł PMEM zostanie zastąpiony, należy go ponownie skonfigurować.
Notatka
Usunięcie dysku PMEM spowoduje utratę danych na tym dysku.
# Remove all PMEM disks
Get-PmemDisk | Remove-PmemDisk -Confirm:$false
Wymazywanie modułów PMEM
Aby trwale wymazać dane z modułów PMEM, użyj Initialize-PmemPhysicalDevice
polecenia cmdlet programu PowerShell.
# Reinitialize all PMEM disks
Get-PmemPhysicalDevice | Initialize-PmemPhysicalDevice -Confirm:$false
Zobacz też
Inne cmdlety do manipulowania PMEM można znaleźć w sekcji PersistentMemory w dokumentacji referencyjnej PowerShell.