Sdílet prostřednictvím


Konfigurace trvalé paměti (PMEM) pro SQL Server ve Windows

Tento článek popisuje, jak nakonfigurovat trvalou paměť (PMEM) pro SQL Server 2016 (13.x) a vyšší ve Windows.

Přehled

SQL Server 2019 (15.x) má několik funkcí databáze v paměti, které spoléhají na trvalou paměť. Tento dokument popisuje kroky potřebné ke konfiguraci trvalé paměti pro SQL Server ve Windows.

Poznámka

Termín enlightenment byl představen, aby vyjádřil koncept práce s trvalým systémem souborů, který je si vědom trvalé paměti. Rozšíření přímého přístupu (DAX) do systému souborů NTFS poskytují možnost mapovat soubory z jádra do uživatelského prostoru. Když je soubor namapovaný do uživatelského prostoru, může aplikace vydat pokyny k načtení nebo uložení přímo do mapovaného souboru paměti a zcela obejít zásobník vstupně-výstupních operací jádra. To se považuje za "osvícenou" metodu přístupu k souborům. Od windows Serveru 2022 je tato funkce k dispozici na platformách Windows i Linux.

Konfigurace zařízení

Vytvořte obory názvů pro zařízení PMEM

Ve Windows pomocí nástroje ipmctl nakonfigurujte disky PMEM (označované jako obory názvů v Linuxu). Specifické pokyny pro Intel® Optane™ najdete zde . Podrobnosti o podporovaném hardwaru PMEM v různých verzích Windows najdete v Vysvětlení a nasazení trvalé paměti. Disky PMEM by se měly prokládat napříč zařízeními PMEM NVDIMM a mohou poskytovat různé typy uživatelského přístupu k paměťovým oblastem na zařízení. Další informace o prokládání sad ve Windows naleznete v tématu Principy a nasazení trvalé paměti.

Disky PMEM

Použití PowerShellu k prozkoumání disků 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 a DAX

Ve výchozím nastavení New-PmemDisk použije požadovaný režim FSDax. Atomicita je nastavena na výchozí hodnotu None místo BlockTranslationTable. Z pohledu podpory musí být pro transakční protokol povolený BTT, aby napodobil sémantiku režimu požadovaného sektoru. I když se obecně doporučuje použití BTT se systémem souborů NTFS, BTT se nedoporučuje při použití velkých stránek, jako je například vyžadováno pro JAZYK DAX.

Get-PmemUnusedRegion | New-PmemDisk -Atomicity None

Formátování svazků NTFS

#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

Zarovnání a posun souboru

Kontrola posunů oddílů

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

Zkontrolujte zarovnání konkrétního souboru pomocí fsutil. Naše velikost souboru musí být modulo 2 MB.

fsutil dax queryFileAlignment A:\AdventureWorks2022_A.mdf

Nahradit PMEM

Opětovné nastavení disků PMEM

Pokaždé, když se modul PMEM nahradí, je potřeba ho znovu vytvořit.

Poznámka

Odebrání disku PMEM způsobí ztrátu dat na daném disku.

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

Vymazání modulů PMEM

Pokud chcete trvale vymazat data z modulů PMEM, použijte rutinu Initialize-PmemPhysicalDevice PowerShellu.

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