Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:SQL Server en Windows
La extensión del grupo de búferes integra el almacenamiento SSD con el grupo de búferes de Motor de base de datos para mejorar el rendimiento de la base de datos sin incurrir en altos costos de memoria adicional.
La extensión del grupo de búferes no está disponible en cada edición de SQL Server. Para obtener más información, vea Ediciones y características admitidas de SQL Server 2025.
Ventajas de la extensión de la piscina de búferes
Dado que las operaciones de E/S de disco pueden tardar un tiempo relativamente largo en completarse, suponen un cuello de botella para el rendimiento en muchas cargas de trabajo.
El enfoque típico para reducir la E/S de disco es agregar más memoria para su uso como caché de datos. Aunque resulta útil, el inconveniente de este enfoque es el alto costo de memoria.
La función de extensión del grupo de búferes amplía la caché de este con almacenamiento no volátil, como unidades SSD locales. Con esta extensión, el grupo de búferes puede acomodar un conjunto de trabajo de base de datos mayor, reemplazando una parte significativa de la E/S remota más lenta por la E/S de SSD local más rápida. Debido a la menor latencia y un mejor rendimiento de E/S de los SSD, la extensión del grupo de búferes puede mejorar el rendimiento, especialmente con los sistemas de E/S remotos más lentos.
En la lista siguiente se describen las ventajas de la característica de extensión del grupo de búferes.
- Mayor rendimiento de E/S
- Menor latencia de E/S
- Mayor rendimiento de las transacciones
- El rendimiento de lectura mejora con un grupo de búferes híbrido mayor
- Una arquitectura de almacenamiento en memoria caché que puede aprovechar las unidades de memoria de bajo costo actuales y futuras
Conceptos de extensión del grupo de búfer
Los siguientes términos son aplicables a la característica de extensión del grupo de búferes.
| Término | Descripción |
|---|---|
| Búfer | En el Motor de base de datos, un búfer es una página de 8 KB en memoria, el mismo tamaño que una página de datos o índice. Por tanto, la memoria caché del búfer está dividida en páginas de 8 kB. Una página permanece en la caché del búfer hasta que el administrador de búferes necesite el área de búfer para leer más datos. Los datos se vuelven a escribir en el disco solo si se modifican. Estas páginas modificadas en memoria se conocen como páginas desfasadas. Una página está limpia cuando es equivalente a su imagen de base de datos en el disco. Los datos de la memoria caché del búfer se pueden modificar varias veces antes de que se vuelvan a escribir en el disco. |
| Grupo de búferes | También se denomina caché de búfer. Todas las bases de datos usan el grupo de búferes como un recurso global para sus páginas de datos almacenadas en caché. El proceso de inicio o sp_configure reconfigura dinámicamente la instancia de Motor de base de datos para determinar el tamaño máximo y mínimo de la memoria caché del grupo de búferes. Este tamaño determina el número máximo de páginas que una instancia puede almacenar en caché en el grupo de búferes. La presión de memoria externa puede reducir el tamaño del grupo de búfer y limitar la cantidad de memoria que la extensión del grupo de búfer puede almacenar en caché. |
| Punto de Control | Un punto de comprobación crea un punto conocido correcto desde el que el Motor de base de datos puede empezar a aplicar los cambios incluidos en el registro de transacciones durante la recuperación después de un cierre inesperado o un bloqueo del sistema. Un punto de control escribe las páginas desfasadas y la información del registro de transacciones de la memoria en el disco. Para obtener más información, vea Database checkpoints (SQL Server). |
Arquitectura de la extensión del grupo de búfer
Al usar la extensión del grupo de búfer, puede utilizar el almacenamiento SSD como una extensión del subsistema de memoria, en lugar de como parte del subsistema de discos. El archivo de extensión de la agrupación de búferes permite al administrador de la agrupación de búferes usar tanto la DRAM como la memoria flash NAND para mantener en SSD una agrupación de búferes de páginas mucho mayor.
Esta arquitectura crea una jerarquía de almacenamiento en caché de varios niveles con el nivel 1 (L1) como DRAM y nivel 2 (L2) como archivo de extensión del grupo de búferes en el SSD. Solo las páginas limpias se escriben en la memoria caché L2, lo que ayuda a mantener la seguridad de los datos. El administrador de búfer controla el movimiento de páginas limpias entre las memorias caché L1 y L2.
En la ilustración siguiente se proporciona información general sobre la arquitectura de alto nivel del grupo de búferes en relación con otros componentes de Motor de base de datos.
Al habilitar la extensión del buffer pool, especifique el tamaño y la ruta de acceso al archivo de caché del buffer pool en la SSD. Este archivo es una extensión contigua del almacenamiento en ssd y se configura estáticamente durante el inicio de la instancia de Motor de base de datos. Solo puede modificar los parámetros de configuración de archivos cuando la característica de extensión del grupo de búferes está deshabilitada. Al deshabilitar la extensión del grupo de búferes, el sistema quita todas las opciones de configuración relacionadas del Registro. El sistema elimina el archivo de extensión del grupo de búferes al apagar Motor de base de datos.
Configuración de la extensión del grupo de búfer
Use ALTER SERVER CONFIGURATION para configurar la extensión del grupo de búfer.
El sistema considera la memoria física disponible para la instancia de Motor de base de datos en el inicio para aplicar el tamaño mínimo y máximo de la extensión del grupo de búferes.
Tamaño máximo
El tamaño máximo de la extensión del grupo de búferes depende de la edición SQL Server y difiere para las máquinas físicas y virtuales.
Si configura un tamaño que supera el máximo, el Motor de base de datos devuelve el error 864 y no habilita la extensión del grupo de búferes.
Las ediciones Enterprise, Enterprise Developer y Developer de SQL Server admiten hasta 32 veces más memoria física.
Las ediciones Standard y Standard Developer de SQL Server en máquinas físicas admiten hasta cuatro veces más memoria física.
Hasta un máximo de 512 GB en SQL Server 2022 (16.x) y versiones anteriores.
Hasta un máximo de 1 TB en SQL Server 2025 (17.x) y versiones posteriores.
Las ediciones Standard y Standard Developer de SQL Server en máquinas virtuales admiten hasta 16 veces más memoria física.
Para obtener más información, vea Ediciones y características admitidas de SQL Server 2025.
Tamaño mínimo
El tamaño de la extensión del grupo de búferes debe ser mayor que el menor de los valores de memoria física y memoria máxima del servidor (MB). Si el tamaño configurado es menor que este mínimo, el Motor de base de datos genera el error 868. Si el tamaño configurado es menor que este mínimo al iniciar la instancia, se registra el error 861 y la extensión del grupo de búferes no está habilitada.
Comportamiento del cambio de configuración
Puede aumentar max server memory (MB) a un valor mayor que el tamaño de la extensión del grupo de búferes mientras la extensión esté habilitada. El Motor de base de datos registra un mensaje informativo (error 5866) y aplica el cambio. Sin embargo, dado que el nuevo valor infringe el requisito de tamaño mínimo, la extensión del grupo de búferes se deshabilita la próxima vez que se reinicie la instancia.
Si habilita la extensión del grupo de búfer con un tamaño inferior a max server memory (MB), la operación falla con el error 868.
Prácticas recomendadas para la extensión del grupo de búfer
Puede usar los siguientes procedimientos recomendados:
- Después de habilitar la extensión del grupo de búferes por primera vez, reinicie la instancia de Motor de base de datos para obtener las ventajas de rendimiento máximas.
- Establezca la extensión del grupo de búferes para que la relación entre el tamaño de la memoria física y el tamaño de la extensión del grupo de búferes sea de 1:16 o menos. Una relación menor en el intervalo de 1:4 a 1:8 podría ser óptima. Para obtener información sobre cómo establecer la opción de
max server memory (MB), vea opciones de configuración de memoria del servidor . - Pruebe exhaustivamente la extensión del grupo de búferes antes de implementarla en un entorno de producción. Una vez en producción, evite realizar cambios de configuración en el archivo o desactivar la característica. Estas actividades pueden tener un efecto negativo en el rendimiento del servidor porque el grupo de búferes se reduce considerablemente cuando la característica está deshabilitada. Cuando está deshabilitada, la memoria usada para admitir la característica no se reclama hasta que se reinicie la instancia de SQL Server. Sin embargo, si la característica se vuelve a habilitar, la memoria se reutiliza sin reiniciar la instancia.
Supervisar la extensión del grupo de búferes
Puede utilizar las siguientes vistas de administración dinámica para mostrar la configuración de la extensión del grupo de búferes y devolver información acerca de las páginas de datos de la extensión.
Los contadores de rendimiento están disponibles en el objeto SQL Server, Buffer Manager para realizar el seguimiento de las páginas de datos del archivo de extensión de la agrupación de búfer. Para obtener más información, vea SQL Server, objeto Buffer Manager.
Los siguientes eventos extendidos están disponibles para supervisar en profundidad la extensión del grupo de búfer.
| Evento | Descripción |
|---|---|
buffer_pool_extension_pages_written |
Se activa cuando se expulsa una página o un grupo de páginas del buffer pool y se registran en el archivo de extensión del buffer pool. |
buffer_pool_extension_pages_read |
Se desencadena cuando una página del archivo de extensión del grupo de búferes se lee en el grupo de búferes. |
buffer_pool_extension_pages_evicted |
Se desencadena cuando una página es expulsada del archivo de la extensión de pool de búferes. |
buffer_pool_eviction_thresholds_recalculated |
Se desencadena cuando se recalculan los umbrales de expulsión. |