Compartir a través de


ALTER RESOURCE GOVERNOR (Transact-SQL)

Esta instrucción se usa para realizar las siguientes acciones del regulador de recursos en SQL Server:

  • Aplicar los cambios de configuración especificados cuando se emiten instrucciones CREATE|ALTER|DROP WORKLOAD GROUP o CREATE|ALTER|DROP 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.

Se aplica a: SQL Server (desde SQL Server 2008 hasta la versión actual).

Icono de vínculo a temas 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. Deshabilitar el regulador de recursos tiene como consecuencia lo siguiente:

    • 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 surtirán efecto hasta que se habilite el regulador de recursos.

    • 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. Habilitar el regulador de recursos tiene como consecuencia lo siguiente:

    • 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 que existieran antes de habilitar el regulador de recursos resultarán afectadas por cualquier cambio realizado en la configuración en el momento de deshabilitar el regulador de recursos.

    Mientras se ejecuta el regulador de recursos, RECONFIGURE aplica los cambios de configuración solicitados al ejecutar las instrucciones CREATE|ALTER|DROP WORKLOAD GROUP o CREATE|ALTER|DROP 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 de clasificación 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

    Se aplica a: desde SQL Server 2014 hasta SQL Server 2014.

    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 el regulador de recursos de E/S según las características de E/S de un volumen de disco. Se recomienda experimentar con distintos valores y plantearse el uso de una herramienta de calibración como IOMeter o SQLIO para identificar el valor máximo para cada subsistema de almacenamiento. 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 RESOURCE POOL CREATE.

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 del regulador de recursos y no debe confundirse con RECONFIGURE (Transact-SQL), 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 Regulador de recursos.

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

Referencia

CREATE RESOURCE POOL (Transact-SQL)

ALTER RESOURCE POOL (Transact-SQL)

DROP RESOURCE POOL (Transact-SQL)

CREATE WORKLOAD GROUP (Transact-SQL)

ALTER WORKLOAD GROUP (Transact-SQL)

DROP WORKLOAD GROUP (Transact-SQL)

sys.dm_resource_governor_workload_groups (Transact-SQL)

sys.dm_resource_governor_resource_pools (Transact-SQL)

Conceptos

Regulador de recursos