ALTER RESOURCE GOVERNOR (Transact-SQL)
Este comando se utiliza para realizar las acciones siguientes:
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.
Restablecer las estadísticas de los grupos de cargas de trabajo y los grupos de recursos.
Convenciones de sintaxis de Transact-SQL
Sintaxis
ALTER RESOURCE GOVERNOR
{ DISABLE | RECONFIGURE }
|
WITH ( CLASSIFIER_FUNCTION = { schema_name.function_name | NULL } )
|
RESET STATISTICS
[ ; ]
Argumentos
Término |
Definición |
||
DISABLE | RECONFIGURE |
DISABLE deshabilita el regulador de recursos. Deshabilitar el regulador de recursos tiene como consecuencia lo siguiente:
Si el regulador de recursos no está habilitado, RECONFIGURE lo habilita. Habilitar el regulador de recursos tiene como consecuencia lo siguiente:
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.
|
||
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 de todos los grupos de cargas de trabajo y los grupos de recursos de servidor. Para obtener más información, vea sys.dm_resource_governor_workload_groups (Transact-SQL) y sys.dm_resource_governor_resource_pools (Transact-SQL). |
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 de servidor.
ALTER RESOURCE GOVERNOR RESET STATISTICS;
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)