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.
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 :
Lorsque le gouverneur de ressources n'est pas activé, RECONFIGURE l'active. L'activation du gouverneur de ressources entraîne les résultats suivants :
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.
Important
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 nom_schéma.nom_fonction. Cette fonction classifie chaque nouvelle session et assigne les demandes et requêtes de session à un groupe de charges 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 États du gouverneur de ressources.
Autorisations
Requiert l'autorisation CONTROL SERVER.
Exemples
A. Démarreage 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