Compartir por


Configuración del servidor: límite de costos del regulador de consultas

Se aplica a:SQL Server

En este artículo se describe cómo establecer la opción de configuración del servidor query governor cost limit en SQL Server mediante SQL Server Management Studio o Transact-SQL. La opción del límite de costo especifica un límite superior en el costo estimado permitido para que se ejecute una consulta determinada. El costo de la consulta es una cifra abstracta determinada por el optimizador de consultas en función de los requisitos de ejecución estimados, como el tiempo de CPU, la memoria y la E/S de disco. Hace referencia al tiempo estimado, en segundos, que se necesitaría para completar una consulta con una configuración de hardware específica. Esta cifra abstracta no equivale al tiempo necesario para completar una consulta en la instancia en ejecución. Debe tratarse como una medida relativa. El valor predeterminado de esta opción es 0, que establece el regulador de consultas en desactivado. Establecer el valor en 0 permite que todas las consultas se ejecuten sin limitación de tiempo. Si especifica un valor positivo distinto de cero, el regulador de consultas no permitirá la ejecución de ninguna consulta que tenga un costo estimado superior a ese valor.

Recomendaciones

Esta opción es una opción avanzada y solo debe cambiarla un profesional de base de datos experimentado.

Para cambiar el valor de límite de costo de regulador de consultas en cada conexión, use la instrucción SET QUERY_GOVERNOR_COST_LIMIT .

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 ALTER SETTINGS y serveradmin tienen el permiso de forma implícita.

Usar SQL Server Management Studio

  1. En el Explorador de objetos, haga clic con el botón derecho en un servidor y seleccione Propiedades.

  2. Seleccione la página Conexiones.

  3. Active o desactive la casilla Usar el regulador de consultas para evitar consultas que se ejecuten durante mucho tiempo .

    Si activa esta casilla, en el cuadro inferior, escriba un valor positivo, que utiliza el regulador de consultas para no permitir la ejecución de ninguna consulta con un costo estimado que supere ese valor.

Uso de Transact-SQL

  1. Conéctese con el Motor de base de datos.

  2. En la barra Estándar, seleccione Nueva consulta.

  3. 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 query governor cost limit en un límite superior del costo superior de la consulta estimado de 120.

    USE master;
    GO
    
    EXECUTE sp_configure 'show advanced options', 1;
    GO
    
    RECONFIGURE;
    GO
    
    EXECUTE sp_configure 'query governor cost limit', 120;
    GO
    
    RECONFIGURE;
    GO
    
    EXECUTE sp_configure 'show advanced options', 0;
    GO
    
    RECONFIGURE;
    GO
    

Para obtener más información, vea Opciones de configuración de servidor.

Seguimiento: Después de configurar la opción límite de costos del regulador de consultas

La configuración surte efecto inmediatamente, sin necesidad de reiniciar el servidor.