Bagikan melalui


Mengonfigurasi memori persisten (PMEM) untuk SQL Server di Windows

Artikel ini menjelaskan cara mengonfigurasi memori persisten (PMEM) untuk SQL Server 2016 (13.x) ke atas pada Windows.

Ikhtisar

SQL Server 2019 (15.x) memiliki beberapa fitur database dalam memori yang mengandalkan memori persisten. Dokumen ini mencakup langkah-langkah yang diperlukan untuk mengonfigurasi memori persisten untuk SQL Server di Windows.

Nota

Istilah pencerahan diperkenalkan untuk menyampaikan konsep bekerja dengan sistem file sadar memori persisten. Ekstensi akses langsung (DAX) ke sistem file NTFS menyediakan kemampuan untuk memetakan memori file dari ruang kernel ke ruang pengguna. Ketika file dipetakan ke ruang pengguna, aplikasi dapat mengeluarkan instruksi pemuatan/penyimpanan langsung ke file yang dipetakan memori, melewati tumpukan I/O kernel sepenuhnya. Ini dianggap sebagai metode untuk mengakses berkas yang cerdas. Pada Windows Server 2022, fungsionalitas pencerahan ini tersedia di platform Windows dan Linux.

Mengonfigurasi perangkat

Membuat namespace untuk perangkat PMEM

Di Windows, gunakan utilitas ipmctl untuk mengonfigurasi disk PMEM (disebut sebagai namespace di Linux). Untuk informasi selengkapnya, lihat Cara Menyediakan Memori Persisten IntelĀ® Optaneā„¢ DC untuk Tamu KVM/QEMU. Detail tentang perangkat keras PMEM yang didukung pada versi Windows yang berbeda berada di Memahami dan menyebarkan memori persisten. Disk PMEM harus diselingi pada seluruh NVDIMM PMEM dan dapat menyediakan berbagai jenis akses bagi pengguna ke area memori pada perangkat. Untuk informasi selengkapnya tentang set yang saling terkait di Windows, lihat Memahami dan menyebarkan memori persisten.

Disk PMEM

Menggunakan PowerShell untuk memeriksa 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 dan DAX

Secara default, New-PmemDisk akan menggunakan mode FSDax yang diinginkan. Pengaturan atomisitas diatur ke nilai default None daripada BlockTranslationTable. Dari perspektif dukungan, BTT harus diaktifkan untuk log transaksi, guna meniru semantik mode sektor yang dibutuhkan. Meskipun penggunaan BTT dengan NTFS umumnya direkomendasikan, BTT tidak disarankan saat menggunakan halaman besar, seperti yang diperlukan untuk DAX.

Get-PmemUnusedRegion | New-PmemDisk -Atomicity None

Memformat volume 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

Perataan file dan penggeseran

Memeriksa offset partisi

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

Periksa perataan file tertentu menggunakan fsutil. Ukuran file kami harus berupa modulo 2 MB.

fsutil dax queryFileAlignment A:\AdventureWorks2022_A.mdf

Ganti PMEM

Konfigurasi ulang disk PMEM

Setiap kali modul PMEM diganti, modul tersebut perlu diprovisikan ulang.

Nota

Menghapus disk PMEM akan mengakibatkan hilangnya data pada disk tersebut.

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

Menghapus modul PMEM

Untuk menghapus data secara permanen dari modul PMEM, gunakan cmdlet PowerShell Initialize-PmemPhysicalDevice.

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