ALTER RESOURCE GOVERNOR (Transact-SQL)

Cette commande permet d'effectuer les actions suivantes :

  • Appliquer les modifications de configuration spécifiées lorsque les instructions CREATE|ALTER|DROP WORKLOAD GROUP ou CREATE|ALTER|DROP RESOURCE POOL sont exécutées.

  • Activer ou désactiver le gouverneur de ressources.

  • configurer la classification des demandes entrantes.

  • Réinitialiser le groupe de charge de travail et les statistiques de pool de ressources.

Icône Lien de rubrique Conventions de la syntaxe Transact-SQL

Syntaxe

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

Arguments

Terme

Définition

DISABLE | RECONFIGURE

DISABLE désactive le gouverneur de ressources. La désactivation du gouverneur de ressources entraîne les résultats suivants :

  • La fonction classifieur n'est pas exécutée.

  • Toutes les nouvelles connexions sont classifiées automatiquement dans le groupe par défaut.

  • Les demandes initialisées par le système sont classifiées dans le groupe de charges de travail interne.

  • Tous les paramètres de groupe de charges de travail et de pool de ressources existants sont réinitialisés à leurs valeurs par défaut. Dans ce cas, aucun événement n'est déclenché lorsque les limites sont atteintes.

  • La surveillance système normale n'est pas affectée.

  • La configuration peut être modifiée, mais les modifications n'entrent en vigueur qu'une fois que le gouverneur de ressources est activé.

  • Lors du redémarrage de SQL Server, le gouverneur de ressources ne chargera pas sa configuration, mais à la place aura uniquement les groupes et pools par défaut et internes.

Lorsque le gouverneur de ressources n'est pas activé, RECONFIGURE l'active. L'activation du gouverneur de ressources entraîne les résultats suivants :

  • La fonction classifieur est exécutée pour les nouvelles connexions afin que leur charge de travail puisse être assignée aux groupes de charges de travail.

  • Les limites de ressource qui sont spécifiées dans la configuration du gouverneur de ressources sont honorées et appliquées.

  • Les demandes qui ont existé avant d'activer le gouverneur de ressources sont affectées par les modifications de configuration qui ont été effectuées lorsque le gouverneur de ressources était désactivé.

Lorsque le gouverneur de ressources est en cours d'exécution, l'option RECONFIGURE s'applique à toutes les modifications de configuration demandées quand les instructions CREATE|ALTER|DROP WORKLOAD GROUP ou CREATE|ALTER|DROP RESOURCE POOL sont exécutées.

ImportantImportant
L'instruction ALTER RESOURCE GOVERNOR RECONFIGURE doit être exécutée pour que les modifications de configuration soient appliquées.

CLASSIFIER_FUNCTION = { schema_name.function_name | NULL }

Enregistre la fonction de classification spécifiée par schema_name.function_name. Cette fonction classifie chaque nouvelle session et assigne les demandes et requêtes de session à un groupe de charge de travail. Lorsque la valeur NULL est utilisée, les nouvelles sessions sont assignées automatiquement au groupe de charge de travail par défaut.

RESET STATISTICS

Réinitialise les statistiques sur tous les groupes de charges de travail et pools de ressources. Pour plus d'informations, consultez sys.dm_resource_governor_workload_groups (Transact-SQL) et sys.dm_resource_governor_resource_pools (Transact-SQL).

Notes

ALTER RESOURCE GOVERNOR DISABLE, ALTER RESOURCE GOVERNOR RECONFIGURE et ALTER RESOURCE GOVERNOR RESET STATISTICS ne peuvent pas être utilisés dans une transaction utilisateur.

Le paramètre RECONFIGURE fait partie de la syntaxe du gouverneur de ressources et ne doit pas être confondu avec RECONFIGURE, qui est une instruction DDL distincte.

Nous vous recommandons de connaître les états du gouverneur de ressources avant d'exécuter des instructions DDL. Pour plus d'informations, consultez Gouverneur de ressources.

Autorisations

Requiert l'autorisation CONTROL SERVER.

Exemples

A.Démarrage du gouverneur de ressources

Lorsque SQL Server est installé pour la première fois, le gouverneur de ressources est désactivé. L'exemple suivant démarre le gouverneur de ressources. Après l'exécution de l'instruction, le gouverneur de ressources s'exécute et peut utiliser les groupes de charges de travail et pools de ressources prédéfinis.

ALTER RESOURCE GOVERNOR RECONFIGURE;

B.Attribution de nouvelles sessions au groupe par défaut

L'exemple suivant assigne toutes les nouvelles sessions au groupe de charges de travail par défaut en supprimant toute fonction classifieur existante de la configuration du gouverneur de ressources. Lorsqu'aucune fonction n'est désignée comme fonction classifieur, toutes les nouvelles sessions sont assignées au groupe de charges de travail par défaut. Cette modification s'applique uniquement aux nouvelles sessions. Les sessions existantes ne sont pas affectées.

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

C.Création et enregistrement d'une fonction classifieur

L'exemple suivant crée une nouvelle fonction classifieur nommée dbo.rgclassifier_v1. La fonction classifie chaque nouvelle session sur la base du nom d'utilisateur ou du nom d'application et assigne les demandes et requêtes de session à un groupe de charges de travail spécifique. Les sessions qui ne sont pas mappées aux noms d'utilisateur ou d'application spécifiés sont assignés au groupe de charges de travail par défaut. La fonction classifieur est ensuite enregistrée et la modification de configuration est appliquée.

-- 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.Réinitialisation des statistiques

L'exemple suivant réinitialise tout le groupe de charges de travail et les statistiques de pool.

ALTER RESOURCE GOVERNOR RESET STATISTICS;

Voir aussi

Référence

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)

Concepts

Gouverneur de ressources