Udostępnij za pośrednictwem


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.