Configuración del servidor: memoria mínima por consulta
Se aplica a: SQL Server
En este artículo se describe cómo configurar la opción de configuración del min memory per query
servidor en SQL Server mediante SQL Server Management Studio o Transact-SQL. La min memory per query
opción especifica la cantidad mínima de memoria (en kilobytes) que se va a asignar para la ejecución de una consulta. Esto también se conoce como concesión de memoria mínima. Por ejemplo, si min memory per query
se establece en 2048 KB, se garantiza que la consulta obtenga al menos esa memoria total. El valor predeterminado es 1.024 KB. El valor mínimo es 512 KB y el valor máximo es 2 147 483 647 KB (2 GB).
Limitaciones
El valor especificado en memoria mínima por consulta tiene prioridad sobre la opción memoria para creación de índices. Si cambia ambas opciones y el valor de index create memory es inferior al de min memory per query, aparecerá un mensaje de advertencia, pero se establecerá el valor. Durante la ejecución de la consulta, recibirá otra advertencia similar.
Recomendaciones
Esta opción es avanzada y solo debe cambiarla un administrador de base de datos con experiencia o un profesional certificado de SQL Server.
El procesador de consultas de SQL Server intenta determinar la cantidad óptima de memoria para asignar a una consulta. La opción min memory per query permite al administrador especificar la cantidad mínima de memoria que recibirá cada consulta. Generalmente, las consultas reciben una cantidad mayor de memoria si tienen operaciones de orden y hash en un volumen de datos grande. Aumentar el valor de memoria mínima por consulta podría mejorar el rendimiento de algunas consultas pequeñas a medianas, pero hacerlo podría dar lugar a una mayor competencia para los recursos de memoria. La opción de memoria mínima por consulta incluye memoria asignada para las operaciones de ordenación.
No establezca la opción de configuración memoria mínima por servidor de consultas demasiado alta, especialmente en sistemas muy ocupados, ya que la consulta tiene que esperar1 hasta que pueda proteger la memoria mínima solicitada o hasta que se supere el valor especificado en la opción de configuración del servidor de espera de consultas. Si hay más memoria disponible que el valor mínimo especificado necesario para ejecutar la consulta, se permite que la consulta use la memoria adicional, si la consulta puede usar la memoria de forma eficaz.
1 En este escenario, el tipo de espera suele ser RESOURCE_SEMAPHORE
. Para obtener más información, consulte sys.dm_os_wait_stats.
Permisos
De forma predeterminada, todos los usuarios tienen permisos de ejecución en sp_configure
sin ningún parámetro o solo con el primero. Para ejecutar sp_configure
con ambos parámetros y cambiar una opción de configuración, o para ejecutar la instrucción RECONFIGURE
, un usuario debe tener el permiso ALTER SETTINGS
en el servidor. Los roles fijos de servidor sysadmin y serveradmin tienen el permiso ALTER SETTINGS
de forma implícita.
Usar SQL Server Management Studio
En el Explorador de objetos, haga clic con el botón derecho en un servidor y seleccione Propiedades.
Seleccione el nodo Memoria .
En el cuadro Memoria mínima por consulta , escriba la cantidad mínima de memoria (en kilobytes) que se va a asignar para la ejecución de una consulta.
Uso de Transact-SQL
Conéctese con el Motor de base de datos.
En la barra Estándar, seleccione Nueva consulta.
Copie y pegue el ejemplo siguiente en la ventana de consulta y seleccione Ejecutar. En este ejemplo se muestra cómo usar sp_configure para establecer el valor de la opción de
min memory per query
en3500
kB.USE master; GO EXECUTE sp_configure 'show advanced options', 1; GO RECONFIGURE; GO EXECUTE sp_configure 'min memory per query', 3500; GO RECONFIGURE; GO EXECUTE sp_configure 'show advanced options', 0; GO RECONFIGURE; GO
Seguimiento: Después de configurar la opción memoria mínima por consulta
La configuración surte efecto inmediatamente, sin necesidad de reiniciar el servidor.