Compartir por


ALTER RESOURCE GOVERNOR (Transact-SQL)

Se aplica a: SQL Server Azure SQL Managed Instance

Esta instrucción se usa para realizar las siguientes acciones de Resource Governor en SQL Server:

  • Aplicar los cambios de configuración especificados al emitir instrucciones CREATE|ALTER|DROP WORKLOAD GROUP o CREATE|ALTER|DROP RESOURCE POOL o CREATE|ALTER|DROP EXTERNAL RESOURCE POOL.

  • Habilitar o deshabilitar el regulador de recursos.

  • Configurar la clasificación de las solicitudes entrantes.

  • Restablece las estadísticas de los grupos de cargas de trabajo y los grupos de recursos.

  • Establece la cantidad máxima de operaciones de E/S por volumen de disco.

Convenciones de sintaxis de Transact-SQL

Sintaxis

ALTER RESOURCE GOVERNOR   
      { DISABLE | RECONFIGURE }  
    | WITH ( CLASSIFIER_FUNCTION = { schema_name.function_name | NULL } )  
    | RESET STATISTICS  
    | WITH ( MAX_OUTSTANDING_IO_PER_VOLUME = value )   
[ ; ]  

Argumentos

DISABLE
Deshabilita el regulador de recursos. La deshabilitación de Resource Governor tiene las siguientes consecuencias:

  • No se ejecuta la función clasificadora.

  • Todas las conexiones nuevas se clasifican automáticamente en el grupo predeterminado.

  • Las solicitudes iniciadas por el sistema se clasifican en el grupo de cargas de trabajo interno.

  • Se restablecen los valores predeterminados de todas las configuraciones existentes del grupo de cargas de trabajo y el grupo de recursos de servidor. En este caso, no se desencadena ningún evento cuando se alcanzan los límites.

  • La supervisión normal del sistema no resulta afectada.

  • Se puede cambiar la configuración, pero los cambios no surten efecto hasta que se habilita Resource Governor.

  • Al reiniciar SQL Server, el regulador de recursos no cargará su configuración, sino que tendrá únicamente los grupos de cargas de trabajo y los grupos de recursos de servidor predeterminados e internos.

RECONFIGURE
Si el regulador de recursos no está habilitado, RECONFIGURE lo habilita. La habilitación de Resource Governor tiene las siguientes consecuencias:

  • La función clasificadora se ejecuta para las nuevas conexiones, de forma que se puede asignar su carga de trabajo a los grupos de cargas de trabajo.

  • Se respetan y se aplican los límites de los recursos especificados en la configuración del regulador de recursos.

  • Las solicitudes existentes antes de la habilitación de Resource Governor se ven afectadas por cualquier cambio realizado en la configuración en el momento de deshabilitar Resource Governor.

Mientras se ejecuta Resource Governor, RECONFIGURE aplica los cambios de configuración solicitados al ejecutar las instrucciones CREATE|ALTER|DROP WORKLOAD GROUP o CREATE|ALTER|DROP RESOURCE POOL o CREATE|ALTER|DROP EXTERNAL RESOURCE POOL.

Importante

Debe enviarse ALTER RESOURCE GOVERNOR RECONFIGURE para que surtan efecto los cambios en la configuración.

CLASSIFIER_FUNCTION = { schema_name.function_name | NULL }
Registra la función clasificadora especificada por schema_name.function_name. Esta función clasifica cada sesión nueva y asigna las solicitudes de sesión y las consultas para un grupo de cargas de trabajo. Si se usa NULL, las nuevas sesiones se asignan automáticamente al grupo de cargas de trabajo predeterminado.

RESET STATISTICS
Restablece las estadísticas en todos los grupos de cargas de trabajo y los grupos de recursos. Para obtener más información, vea sys.dm_resource_governor_workload_groups (Transact-SQL) y sys.dm_resource_governor_resource_pools (Transact-SQL).

MAX_OUTSTANDING_IO_PER_VOLUME = value
Válido para : SQL Server 2014 (12.x) y versiones posteriores.

Establece la cantidad máxima de operaciones de E/S en cola por volumen de disco. Estas operaciones de E/S pueden ser lecturas o escrituras de cualquier tamaño. El valor máximo de MAX_OUTSTANDING_IO_PER_VOLUME es 100. No es un porcentaje. Este valor está diseñado para optimizar la gobernanza de recursos de E/S según las características de E/S de un volumen de disco. Este valor proporciona una comprobación de seguridad de nivel de sistema que permite a SQL Server cumplir el mínimo de IOPS para los grupos de recursos aunque otros grupos tengan el valor de MAX_IOPS_PER_VOLUME establecido en ilimitado. Para obtener más información sobre MAX_IOPS_PER_VOLUME, vea CREATE RESOURCE POOL.

Comentarios

ALTER RESOURCE GOVERNOR DISABLE, ALTER RESOURCE GOVENOR RECONFIGURE y ALTER RESOURCE GOVERNOR RESET STATISTICS no se pueden usar en una transacción de usuario.

El parámetro RECONFIGURE forma parte de la sintaxis de Resource Governor y no debe confundirse con RECONFIGURE, que es una instrucción DDL independiente.

Se recomienda familiarizarse con los estados del regulador de recursos antes de ejecutar las instrucciones de DDL. Para obtener más información, vea Resource Governor.

Permisos

Requiere el permiso CONTROL SERVER.

Ejemplos

A. Iniciar el regulador de recursos

La primera vez que se instala SQL Server, el regulador de recursos está deshabilitado. En el ejemplo siguiente, se inicia regulador de recursos. Después de ejecutar la instrucción, el regulador de recursos se ejecuta y puede usar los grupos de recursos de servidor y los grupos de cargas de trabajo predefinidos.

ALTER RESOURCE GOVERNOR RECONFIGURE;  

B. Asignar nuevas sesiones al grupo predeterminado

En el ejemplo siguiente, se asignan todas las sesiones nuevas al grupo de cargas de trabajo predeterminado; para ello, se quitan las funciones clasificadoras existentes de la configuración del regulador de recursos. Cuando no se designa ninguna función como función clasificadora, todas las sesiones nuevas se asignan al grupo de cargas de trabajo predeterminado. Este cambio solo se aplica a las sesiones nuevas. Las sesiones existentes no resultan afectadas.

ALTER RESOURCE GOVERNOR WITH (CLASSIFIER_FUNCTION = NULL);  
GO  
ALTER RESOURCE GOVERNOR RECONFIGURE;  

C. Crear y registrar una función clasificadora

En el ejemplo siguiente, se crea una función clasificadora denominada dbo.rgclassifier_v1. La función clasifica cada nueva sesión basándose en el nombre de usuario o en el nombre de aplicación y asigna las solicitudes de sesión y las consultas a un grupo de cargas de trabajo concreto. Las sesiones que no se corresponden con los nombres de usuario o de aplicación especificados se asignan al grupo de cargas de trabajo predeterminado. A continuación, se registra la función clasificadora y se aplica el cambio de configuración.

-- Store the classifier function in the master database.  
USE master;  
GO  
SET ANSI_NULLS ON;  
GO  
SET QUOTED_IDENTIFIER ON;  
GO  
CREATE FUNCTION dbo.rgclassifier_v1() RETURNS sysname   
WITH SCHEMABINDING  
AS  
BEGIN  
-- Declare the variable to hold the value returned in sysname.  
    DECLARE @grp_name AS sysname  
-- If the user login is 'sa', map the connection to the groupAdmin  
-- workload group.   
    IF (SUSER_NAME() = 'sa')  
        SET @grp_name = 'groupAdmin'  
-- Use application information to map the connection to the groupAdhoc  
-- workload group.  
    ELSE IF (APP_NAME() LIKE '%MANAGEMENT STUDIO%')  
        OR (APP_NAME() LIKE '%QUERY ANALYZER%')  
            SET @grp_name = 'groupAdhoc'  
-- If the application is for reporting, map the connection to  
-- the groupReports workload group.  
    ELSE IF (APP_NAME() LIKE '%REPORT SERVER%')  
        SET @grp_name = 'groupReports'  
-- If the connection does not map to any of the previous groups,  
-- put the connection into the default workload group.  
    ELSE  
        SET @grp_name = 'default'  
    RETURN @grp_name  
END;  
GO  
-- Register the classifier user-defined function and update the   
-- the in-memory configuration.  
ALTER RESOURCE GOVERNOR WITH (CLASSIFIER_FUNCTION=dbo.rgclassifier_v1);  
GO  
ALTER RESOURCE GOVERNOR RECONFIGURE;  
GO  

D. Restablecer las estadísticas

En el ejemplo siguiente, se restablecen las estadísticas de todos los grupos de cargas de trabajo y los grupos de recursos.

ALTER RESOURCE GOVERNOR RESET STATISTICS;  

E. Establecer la opción MAX_OUTSTANDING_IO_PER_VOLUME

En el ejemplo siguiente se establece la opción MAX_OUTSTANDING_IO_PER_VOLUME en 20.

ALTER RESOURCE GOVERNOR  
WITH (MAX_OUTSTANDING_IO_PER_VOLUME = 20);   

Vea también

CREATE RESOURCE POOL (Transact-SQL)
ALTER RESOURCE POOL (Transact-SQL)
DROP RESOURCE POOL (Transact-SQL)
CREATE EXTERNAL RESOURCE POOL (Transact-SQL)
DROP EXTERNAL RESOURCE POOL (Transact-SQL)
ALTER EXTERNAL RESOURCE POOL (Transact-SQL)
CREATE WORKLOAD GROUP (Transact-SQL)
ALTER WORKLOAD GROUP (Transact-SQL)
DROP WORKLOAD GROUP (Transact-SQL)
Regulador de recursos
sys.dm_resource_governor_workload_groups (Transact-SQL)
sys.dm_resource_governor_resource_pools (Transact-SQL)