Skip to main content
Enterprise applications
Se proporciona el idioma español mediante traducción automática para su comodidad. En caso de alguna inconsistencia, el inglés precede al español.

Configuración de memoria de Microsoft SQL Server

Colaboradores

En la siguiente sección se explica la configuración de los valores de memoria de SQL Server para optimizar el rendimiento de la base de datos.

Memoria máxima del servidor

La opción max server memory define la cantidad máxima de memoria que puede utilizar la instancia de SQL Server.

Se utiliza generalmente si se ejecutan varias aplicaciones en el mismo servidor donde se ejecuta SQL Server y desea garantizar que estas aplicaciones tengan suficiente memoria para funcionar correctamente.

Algunas aplicaciones solo utilizan la memoria disponible cuando se inician y no solicitan más, incluso si es necesario. Aquí es donde entra en juego la configuración de memoria máxima del servidor.

En un clúster de SQL Server con varias instancias de SQL Server, cada instancia podría competir por los recursos. Establecer un límite de memoria para cada instancia de SQL Server puede ayudar a garantizar el mejor rendimiento para cada instancia.

Consejo NetApp recomienda dejar al menos 4GB a 6GB de RAM para el sistema operativo para evitar problemas de rendimiento.

Error: Falta la imagen gráfica

Ajuste de la memoria mínima y máxima del servidor mediante SQL Server Management Studio.

El uso de SQL Server Management Studio para ajustar la memoria mínima o máxima del servidor requiere un reinicio del servicio de SQL Server. Puede ajustar la memoria del servidor mediante Transact SQL (T-SQL) usando este código:

EXECUTE sp_configure 'show advanced options', 1
GO
EXECUTE sp_configure 'min server memory (MB)', 2048
GO
EXEC sp_configure 'max server memory (MB)', 120832
GO
RECONFIGURE WITH OVERRIDE

Acceso a memoria no uniforme

El acceso no uniforme a la memoria (NUMA) es un método de optimización de acceso a la memoria que ayuda a aumentar la velocidad del procesador sin aumentar la carga en el bus del procesador.

Si NUMA está configurado en el servidor donde está instalado SQL Server, no se requiere ninguna configuración adicional porque SQL Server tiene en cuenta NUMA y funciona bien en el hardware NUMA.

Index CREATE MEMORIA

La opción INDEX CREATE MEMORY es otra opción avanzada que normalmente no debe cambiar.

Controla la cantidad máxima de RAM asignada inicialmente para crear índices. El valor por defecto de esta opción es 0, lo que significa que SQL Server la gestiona automáticamente. Sin embargo, si tiene dificultades para crear índices, considere aumentar el valor de esta opción.

Memoria mínima por consulta

Cuando se ejecuta una consulta, SQL Server intenta asignar la cantidad óptima de memoria para que se ejecute de forma eficiente.

De forma predeterminada, el valor de memoria mínima por consulta asigna >= a 1024KB para cada consulta que se ejecute. Es recomendable dejar este valor en el valor por defecto de 0 para permitir que SQL Server gestione dinámicamente la cantidad de memoria asignada para las operaciones de creación de índices. Sin embargo, si SQL Server tiene más RAM de la que necesita para ejecutarse de manera eficiente, el rendimiento de algunas consultas se puede aumentar si aumenta este valor. Por lo tanto, siempre y cuando la memoria esté disponible en el servidor que no esté utilizando SQL Server, ninguna otra aplicación o el sistema operativo, aumentar esta configuración puede ayudar en general al rendimiento de SQL Server. Si no hay memoria libre disponible, aumentar esta configuración puede afectar al rendimiento general.

Error: Falta la imagen gráfica

Extensiones del pool de buffers

La extensión del pool de buffers proporciona una integración perfecta de una extensión NVRAM con el pool de buffers del motor de base de datos para mejorar significativamente el rendimiento de E/S.

La extensión del pool de buffers no está disponible en todas las ediciones de SQL Server. Solo está disponible con las ediciones SQL Server Standard, Business Intelligence y Enterprise de 64 bits.

La función de extensión del pool de buffers amplía la caché del pool de buffers con almacenamiento no volátil (normalmente SSD). La extensión permite al pool de buffers acomodar un conjunto de trabajo de base de datos más grande, lo que obliga a la paginación de E/S entre la RAM y los SSD y descarga de forma efectiva pequeñas E/S aleatorias de discos mecánicos a SSD. Debido a la menor latencia y al mejor rendimiento de I/O aleatorio de los SSD, la extensión del pool de búfer mejora significativamente el rendimiento de I/O.

La función de extensión de pool de buffers ofrece las siguientes ventajas:

  • Aumento del rendimiento de I/O aleatoria

  • Latencia de I/O reducida

  • Aumento del rendimiento de las transacciones

  • Rendimiento de lectura mejorado con un pool de búfer híbrido más grande

  • Una arquitectura de caché que puede aprovechar la memoria de bajo costo, existente y futura

Consejo

NetApp recomienda configurar las extensiones del grupo de buffers para:

  • Asegúrese de que se presenta un LUN respaldado por SSD (como NetApp AFF) al host de SQL Server para que pueda utilizarse como disco de destino de extensión de pool de buffers.

  • El archivo de extensión debe ser del mismo tamaño o mayor que el pool de buffers.

El siguiente ejemplo muestra un comando T-SQL para configurar una extensión de pool de buffers de 32GB.

USE master
GO
ALTER SERVER CONFIGURATION
SET BUFFER POOL EXTENSION ON
  (FILENAME = ‘P:\BUFFER POOL EXTENSION\SQLServerCache.BUFFER POOL EXTENSION', SIZE = 32 GB);
GO