Nota
O acceso a esta páxina require autorización. Pode tentar iniciar sesión ou modificar os directorios.
O acceso a esta páxina require autorización. Pode tentar modificar os directorios.
En este artículo se describe cómo configurar la memoria persistente (PMEM) para SQL Server 2016 (13.x) y versiones posteriores en Windows.
Información general
SQL Server 2019 (15.x) tiene varias características de base de datos en memoria que dependen de la memoria persistente. En este documento se describen los pasos necesarios para configurar la memoria persistente para SQL Server en Windows.
Nota:
El término ilustración se introdujo para transmitir el concepto de trabajar con un sistema de archivos compatible con memoria persistente. Las extensiones de acceso directo (DAX) al sistema de archivos NTFS proporcionan la capacidad de memoria de los archivos de mapa del espacio del kernel al espacio de usuario. Cuando un archivo está asignado a la memoria asignada al espacio de usuario, la aplicación puede emitir instrucciones de carga o almacenamiento directamente en el archivo asignado a la memoria, pasando por completo la pila de E/S del kernel. Esto se considera un método de acceso a archivos "optimizado". A partir de Windows Server 2022, esta funcionalidad de iluminación está disponible en plataformas Windows y Linux.
Configuración de los dispositivos
Creación de espacios de nombres para dispositivos PMEM
En Windows, use la ipmctl utilidad para configurar los discos PMEM (denominados espacios de nombres en Linux). Para obtener más información, vea Cómo Provisionar Intel® Optane™ DC Persistent Memory para Invitados KVM/QEMU. Los detalles sobre el hardware PMEM compatible en diferentes versiones de Windows se encuentran en Descripción e implementación de la memoria persistente. Los discos PMEM deben intercalarse entre PMEM NVDIMMs y pueden proporcionar diferentes tipos de acceso de espacio de usuario a las regiones de memoria del dispositivo. Para obtener más información sobre los conjuntos intercalados en Windows, consulte Descripción e implementación de la memoria persistente.
Discos PMEM
Uso de PowerShell para examinar discos 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 y DAX
De forma predeterminada, New-PmemDisk usará el modo deseado FSDax . Atomicidad se establece en el valor predeterminado de en lugar de NoneBlockTranslationTable. Desde una perspectiva de soporte técnico, BTT debe estar habilitado para el registro de transacciones, para imitar la semántica del modo de sector necesaria. Aunque el uso de BTT con NTFS se recomienda generalmente, no se recomienda BTT al usar páginas grandes, como es necesario para DAX.
Get-PmemUnusedRegion | New-PmemDisk -Atomicity None
Dar formato a los volúmenes 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
Alineación y desplazamiento de archivos
Comprobación de los desplazamientos de partición
Get-Partition | Select-Object DiskNumber, DriveLetter, IsDAX, Offset, Size, PartitionNumber | Format-List
Compruebe la alineación del archivo de un archivo determinado mediante fsutil. Nuestro tamaño de archivo debe ser un módulo de 2 MB.
fsutil dax queryFileAlignment A:\AdventureWorks2022_A.mdf
Reemplazar PMEM
Volver a aprovisionar discos PMEM
Cada vez que se reemplaza un módulo PMEM, se debe volver a aprovisionar.
Nota:
La eliminación de un disco PMEM provocará la pérdida de datos en ese disco.
# Remove all PMEM disks
Get-PmemDisk | Remove-PmemDisk -Confirm:$false
Borrar módulos PMEM
Para borrar permanentemente los datos de los módulos PMEM, use el Initialize-PmemPhysicalDevice cmdlet de PowerShell.
# Reinitialize all PMEM disks
Get-PmemPhysicalDevice | Initialize-PmemPhysicalDevice -Confirm:$false