Aracılığıyla paylaş


Windows üzerinde SQL Server için kalıcı bellek (PMEM) yapılandırma

Bu makalede, Windows üzerinde SQL Server 2016 (13.x) ve üzeri için kalıcı belleğin (PMEM) nasıl yapılandırıldığı açıklanır.

Genel bakış

SQL Server 2019 (15.x), kalıcı belleği kullanan birkaç bellek içi veritabanı özelliğine sahiptir. Bu belge, Windows üzerinde SQL Server için kalıcı belleği yapılandırmak için gereken adımları kapsar.

Önemli Not

Aydınlanma terimi, kalıcı bellek farkındalığına sahip bir dosya sistemiyle çalışmayı ifade etmek için ortaya kondu. NTFS dosya sistemine doğrudan erişim (DAX) uzantıları, dosyaları çekirdek alanından kullanıcı alanına eşleme olanağı sağlar. Bir dosya kullanıcı alanına eşlenmiş bellek olduğunda uygulama, çekirdek G/Ç yığınını tamamen atlayarak doğrudan belleğe eşlenen dosyaya yükleme/depolama yönergeleri verebilir. Bu, "açıklanmış" bir dosya erişim yöntemi olarak kabul edilir. Windows Server 2022 itibarıyla bu aydınlanma işlevselliği hem Windows hem de Linux platformlarında kullanılabilir.

Cihazları yapılandırma

PMEM cihazları için ad alanları oluşturma

Windows'da PMEM disklerini yapılandırmak için ipmctl yardımcı programını kullanın (Linux'ta ad alanları olarak adlandırılır). Intel® Optane'e™ özgü yönergeleri buradabulabilirsiniz. Farklı Windows sürümlerinde desteklenen PMEM donanımıyla ilgili ayrıntılar Kalıcı belleği anlama ve dağıtmabölümünde bulunmaktadır. PMEM diskleri, PMEM NVDIMM'leri arasında araya eklenmelidir ve cihazdaki bellek bölgelerine farklı türde kullanıcı alanı erişimi sağlayabilir. Windows'ta aradizimli kümeler hakkında daha fazla bilgi için bkz. Kalıcı belleği anlayın ve dağıtın.

PMEM diskleri

PMEM disklerini incelemek için PowerShell kullanma

#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 ve DAX

Varsayılan olarak, New-PmemDisk istenen FSDax modunu kullanır. Bölünmezlik, BlockTranslationTableyerine varsayılan None olarak ayarlanır. Destek açısından, işlem günlüğü için gerekli sektör modu mantığını taklit etmek amacıyla BTT etkinleştirilmelidir. NTFS ile BTT kullanılması genellikle önerilir, ancak DAXiçin gerekli gibi büyük sayfalar kullanılırken BTT önerilmez.

Get-PmemUnusedRegion | New-PmemDisk -Atomicity None

NTFS birimlerini biçimlendirme


#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

Dosya hizalama ve uzaklık

Bölüm uzaklıklarını denetleme

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

fsutilkullanarak belirli bir dosyanın dosya hizalamasını denetleyin. Dosya boyutumuz 2 MB'lık bir modül olmalıdır.

fsutil dax queryFileAlignment A:\AdventureWorks2022_A.mdf

PMEM'yi değiştirme

PMEM disklerini yeniden sağlama

Bir PMEM modülü her değiştirildiğinde yeniden yapılandırılması gerekir.

Not

PMEM diskinin kaldırılması bu diskteki veri kaybına neden olur.

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

PMEM modüllerini silme

PMEM modüllerindeki verileri kalıcı olarak silmek için Initialize-PmemPhysicalDevice PowerShell cmdlet'ini kullanın.

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

Ayrıca bkz.

PMEM'yi düzenlemeye yönelik diğer cmdlet'ler için PowerShell referans belgelerindeki PersistentMemory bölümüne bakın.