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.

Gambaran Umum

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.

Catatan

Istilah pencerahan diperkenalkan untuk menyampaikan konsep bekerja dengan sistem file yang sadar memori persisten. Ekstensi akses langsung (DAX) ke sistem file NTFS menyediakan kemampuan untuk memetakan file memori 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 akses file "tercerahkan". Pada Windows Server 2022, fungsionalitas pencerahan ini tersedia di platform Windows dan Linux.

Mengonfigurasi perangkat

Membuat namespace untuk perangkat PMEM

Di Windows, gunakan ipmctl utilitas untuk mengonfigurasi disk PMEM (disebut sebagai namespace di Linux). Anda dapat menemukan instruksi khusus IntelĀ® Optaneā„¢ di sini. Detail tentang perangkat keras PMEM yang didukung pada versi Windows yang berbeda berada di Memahami dan menyebarkan memori persisten. Disk PMEM harus diselingi di seluruh NVDIMM PMEM dan dapat menyediakan berbagai jenis akses ruang pengguna ke wilayah 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 yang diinginkan FSDax . Atomitas diatur ke default daripada NoneBlockTranslationTable. Dari perspektif dukungan, BTT harus diaktifkan untuk log transaksi, untuk meniru semantik mode sektor yang diperlukan. 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 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

Perataan dan offset file

Periksa offset partisi

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

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

fsutil dax queryFileAlignment A:\AdventureWorks2022_A.mdf

Mengganti PMEM

Provisi ulang disk PMEM

Setiap kali modul PMEM diganti, modul perlu disediakan ulang.

Catatan

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 Initialize-PmemPhysicalDevice cmdlet PowerShell.

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

Lihat juga

Untuk cmdlet lain untuk memanipulasi PMEM, lihat PersistentMemory dalam dokumentasi referensi PowerShell.