View a markdown version of this page

Utilisation du gouverneur de ressources Microsoft SQL Server pour votre instance RDS pour SQL Server - Amazon Relational Database Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation du gouverneur de ressources Microsoft SQL Server pour votre instance RDS pour SQL Server

Après avoir ajouté l'option de gouverneur de ressources à votre groupe d'options, le gouverneur de ressources n'est pas encore actif au niveau du moteur de base de données. Pour activer complètement le gouverneur de ressources, vous devez utiliser les procédures stockées RDS pour SQL Server afin de l'activer et de créer les objets de gouverneur de ressources nécessaires. Pour de plus amples informations, veuillez consulter Connexion à votre instance de base de données Microsoft SQL Server.

Connectez-vous d'abord à votre base de données SQL Server, puis appelez le RDS approprié pour les procédures stockées SQL Server afin de terminer la configuration. Pour plus d'informations sur la connexion à votre base de données, consultez Connexion à votre instance de base de données Microsoft SQL Server.

Pour plus d’informations sur la façon d’appeler chaque procédure stockée, consultez les rubriques suivantes :

Gérer le pool de ressources

Créer un pool de ressources

Une fois que le gouverneur de ressources est activé sur le groupe d'options, vous pouvez créer des pools de ressources personnalisés à l'aide derds_create_resource_pool. Ces pools vous permettent d'allouer des pourcentages spécifiques de CPU, de mémoire et d'IOPS à différentes charges de travail.

Utilisation

USE [msdb] EXEC dbo.rds_create_resource_pool @pool_name=value, @MAX_CPU_PERCENT=value, @CAP_CPU_PERCENT=value, @MAX_MEMORY_PERCENT=value, @MAX_IOPS_PER_VOLUME=value

Les paramètres suivants sont obligatoires :

  • @group_name- Est le nom d'un groupe de charge de travail défini par l'utilisateur existant.

  • @pool_name- Est le nom défini par l'utilisateur pour le pool de ressources. pool_nameest alphanumérique, peut comporter jusqu'à 128 caractères, doit être unique au sein d'une instance de moteur de base de données et doit être conforme aux règles relatives aux identifiants de base de données.

Les paramètres suivants sont facultatifs :

  • @MAX_CPU_PERCENT- Spécifie la bande passante CPU moyenne maximale que toutes les requêtes du pool de ressources reçoivent en cas de conflit de processeur. valueest un entier dont la valeur par défaut est 100. La plage autorisée value est comprise entre 1 et 100.

  • @CAP_CPU_PERCENT- Spécifie une limite stricte à la bande passante du processeur que reçoivent toutes les demandes du pool de ressources. Limite le niveau de bande passante maximum du processeur à la valeur spécifiée. valueest un entier dont la valeur par défaut est 100. La plage autorisée value est comprise entre 1 et 100.

  • @MAX_MEMORY_PERCENT- Spécifie la quantité maximale de mémoire de l'espace de travail de requêtes que les requêtes de ce pool de ressources peuvent utiliser. valueest un entier dont la valeur par défaut est 100. La plage autorisée value est comprise entre 1 et 100.

  • @MAX_IOPS_PER_VOLUME- Spécifie le nombre maximum d' I/O opérations par seconde (IOPS) par volume de disque pour autoriser le pool de ressources. La plage autorisée pour value est comprise entre 0 et 2^31-1 (2 147 483 647). Spécifiez 0 pour supprimer une limite d'IOPS pour le pool. La valeur par défaut est 0.

Exemples

Exemple de création d'un pool de ressources avec toutes les valeurs par défaut :

--This creates resource pool 'SalesPool' with all default values USE [msdb] EXEC rds_create_resource_pool @pool_name = 'SalesPool'; --Apply changes USE [msdb] EXEC msdb.dbo.rds_alter_resource_governor_configuration; --Validate configuration select * from sys.resource_governor_resource_pools

Exemple de création d'un pool de ressources avec différents paramètres spécifiés :

--creates resource pool USE [msdb] EXEC dbo.rds_create_resource_pool @pool_name='analytics', @MAX_CPU_PERCENT = 30, @CAP_CPU_PERCENT = 40, @MAX_MEMORY_PERCENT = 20; --Apply changes EXEC msdb.dbo.rds_alter_resource_governor_configuration; --Validate configuration select * from sys.resource_governor_resource_pools

Modifier le pool de ressources

Utilisation

USE [msdb] EXEC dbo.rds_alter_resource_pool @pool_name=value, @MAX_CPU_PERCENT=value, @CAP_CPU_PERCENT=value, @MAX_MEMORY_PERCENT=value, @MAX_IOPS_PER_VOLUME=value;

Les paramètres suivants sont obligatoires :

  • @pool_name- Est le nom d'un pool de ressources défini par l'utilisateur existant. La modification du pool de ressources par défaut n'est pas autorisée dans Amazon RDS SQL Server.

Au moins l'un des paramètres facultatifs doit être spécifié :

  • @MAX_CPU_PERCENT- Spécifie la bande passante CPU moyenne maximale que toutes les requêtes du pool de ressources reçoivent en cas de conflit de processeur. valueest un entier dont la valeur par défaut est 100. La plage autorisée value est comprise entre 1 et 100.

  • @CAP_CPU_PERCENT- Spécifie une limite stricte à la bande passante du processeur que reçoivent toutes les demandes du pool de ressources. Limite le niveau de bande passante maximum du processeur à la valeur spécifiée. valueest un entier dont la valeur par défaut est 100. La plage autorisée value est comprise entre 1 et 100.

  • @MAX_MEMORY_PERCENT- Spécifie la quantité maximale de mémoire de l'espace de travail de requêtes que les requêtes de ce pool de ressources peuvent utiliser. valueest un entier dont la valeur par défaut est 100. La plage autorisée value est comprise entre 1 et 100.

  • @MAX_IOPS_PER_VOLUME- Spécifie le nombre maximum d' I/O opérations par seconde (IOPS) par volume de disque pour autoriser le pool de ressources. La plage autorisée pour value est comprise entre 0 et 2^31-1 (2 147 483 647). Spécifiez 0 pour supprimer une limite d'IOPS pour le pool. La valeur par défaut est 0.

Exemples

--This alters resource pool USE [msdb] EXEC dbo.rds_alter_resource_pool @pool_name='analytics', @MAX_CPU_PERCENT = 10, @CAP_CPU_PERCENT = 20, @MAX_MEMORY_PERCENT = 50; --Apply changes EXEC msdb.dbo.rds_alter_resource_governor_configuration; --Validate configuration. select * from sys.resource_governor_resource_pools

Supprimer le pool de ressources

Utilisation

USE [msdb] EXEC dbo.rds_drop_resource_pool @pool_name=value;

Les paramètres suivants sont obligatoires :

  • @pool_name- Est le nom d'un pool de ressources défini par l'utilisateur existant.

Note

La suppression du pool de ressources interne ou par défaut n'est pas autorisée dans SQL Server.

Exemples

--This drops resource pool USE [msdb] EXEC dbo.rds_drop_resource_pool @pool_name='analytics' --Apply changes EXEC msdb.dbo.rds_alter_resource_governor_configuration; --Validate configuration select * from sys.resource_governor_resource_pools

Gérer les groupes de charge de travail

Les groupes de charge de travail, créés et gérés avec rds_create_workload_group etrds_alter_workload_group, vous permettent de définir des niveaux d'importance, des allocations de mémoire et d'autres paramètres pour les groupes de requêtes.

Créer un groupe de charge de travail

Utilisation

USE [msdb] EXEC dbo.rds_create_workload_group @group_name = value, @IMPORTANCE ={ LOW | MEDIUM | HIGH }, @REQUEST_MAX_MEMORY_GRANT_PERCENT =value, @REQUEST_MAX_CPU_TIME_SEC = value , @REQUEST_MEMORY_GRANT_TIMEOUT_SEC = value, @MAX_DOP = value, @GROUP_MAX_REQUESTS = value, @GROUP_MAX_TEMPDB_DATA_MB = value, @GROUP_MAX_TEMPDB_DATA_PERCENT = value, @pool_name = value

Les paramètres suivants sont obligatoires :

  • @pool_name- Est le nom d'un pool de ressources défini par l'utilisateur existant.

  • @group_name- Est le nom d'un groupe de charge de travail défini par l'utilisateur existant.

Les paramètres suivants sont facultatifs :

  • @IMPORTANCE- Spécifie l'importance relative d'une demande dans le groupe de charge de travail. La valeur par défaut est MEDIUM.

  • @REQUEST_MAX_MEMORY_GRANT_PERCENT- Spécifie la quantité maximale de mémoire de l'espace de travail de requêtes qu'une seule demande peut extraire du pool. valueest un pourcentage de la taille du pool de ressources défini parMAX_MEMORY_PERCENT. La valeur par défaut est 25.

  • @REQUEST_MAX_CPU_TIME_SEC- Spécifie la durée maximale du processeur, en secondes, qu'une demande par lots peut utiliser. valuedoit être égal à 0 ou à un entier positif. Le paramètre par défaut value est 0, ce qui signifie illimité.

  • @REQUEST_MEMORY_GRANT_TIMEOUT_SEC- Spécifie la durée maximale, en secondes, pendant laquelle une requête peut attendre qu'une allocation de mémoire provenant de la mémoire de l'espace de travail de requêtes soit disponible. valuedoit être égal à 0 ou à un entier positif. Le paramètre par défaut pour value 0 utilise un calcul interne basé sur le coût de la requête pour déterminer la durée maximale.

  • @MAX_DOP- Spécifie le degré maximum de parallélisme (MAXDOP) pour l'exécution de requêtes en parallèle. La plage autorisée pour value est comprise entre 0 et 64. Le paramètre par défaut pour value 0 utilise le paramètre global.

  • @GROUP_MAX_REQUESTS= Spécifie le nombre maximum de demandes simultanées pouvant être exécutées dans le groupe de charge de travail. valuedoit être égal à 0 ou à un entier positif. Le paramètre par défaut value est 0 et autorise un nombre illimité de demandes.

  • @GROUP_MAX_TEMPDB_DATA_MB— Spécifie la quantité maximale d'espace de données tempdb, en mégaoctets, qu'un groupe de charge de travail peut consommer. valuedoit être 0, un nombre positif ou NULL. Les valeurs fractionnaires sont autorisées. Lorsque la valeur est 0, les allocations d'espace tempdb par sessions du groupe de charge de travail ne sont pas autorisées. Lorsqu'aucune valeur n'est définie, le gouverneur de ressources ne limite pas la consommation d'espace tempdb par le groupe de charge de travail. Ce paramètre est disponible sur SQL Server 2025 et versions ultérieures.

  • @GROUP_MAX_TEMPDB_DATA_PERCENT— Spécifie la quantité maximale d'espace de données tempdb qu'un groupe de charge de travail peut consommer, en pourcentage de la taille maximale de la base de données tempdb. valuedoit être compris entre 0 et 100, ou NULL. Les valeurs fractionnaires sont autorisées. Lorsque la valeur est 0, les allocations d'espace tempdb par sessions du groupe de charge de travail ne sont pas autorisées. Lorsqu'aucune valeur n'est définie, le gouverneur de ressources ne limite pas la consommation d'espace tempdb par le groupe de charge de travail. Quand GROUP_MAX_TEMPDB_DATA_MB est défini, ou lorsque la taille maximale de tempdb n'est pas définie, cela n'GROUP_MAX_TEMPDB_DATA_PERCENTa aucun effet. Ce paramètre est disponible sur SQL Server 2025 et versions ultérieures.

  • @pool_name= Associe le groupe de charge de travail au pool de ressources défini par l'utilisateur identifié parpool_name, ou au pool de default ressources. S'il pool_name n'est pas fourni, le groupe de charge de travail est associé au default pool intégré.

Exemples

--This creates workload group named 'analytics' USE msdb; EXEC dbo.rds_create_workload_group @group_name = 'analytics', @IMPORTANCE = 'HIGH', @REQUEST_MAX_MEMORY_GRANT_PERCENT = 25, @REQUEST_MAX_CPU_TIME_SEC = 0, @REQUEST_MEMORY_GRANT_TIMEOUT_SEC = 0, @MAX_DOP = 0, @GROUP_MAX_REQUESTS = 0, @pool_name = 'analytics'; --Apply changes EXEC msdb.dbo.rds_alter_resource_governor_configuration; --Validate configuration select * from sys.resource_governor_workload_groups

Exemple de création d'un groupe de charge de travail avec la gouvernance de tempdb (SQL Server 2025 et versions ultérieures) :

-- Create workload group with tempdb space limits USE msdb; EXEC dbo.rds_create_workload_group @group_name = 'etl_workload', @IMPORTANCE = 'MEDIUM', @REQUEST_MAX_MEMORY_GRANT_PERCENT = 25, @MAX_DOP = 4, @GROUP_MAX_TEMPDB_DATA_MB = 2048, @GROUP_MAX_TEMPDB_DATA_PERCENT = 30, @pool_name = 'etl_pool'; -- Apply changes EXEC msdb.dbo.rds_alter_resource_governor_configuration; -- Validate configuration SELECT name, group_max_tempdb_data_mb, group_max_tempdb_data_percent FROM sys.resource_governor_workload_groups WHERE name = 'etl_workload';

Modifier le groupe de charge de travail

Utilisation

EXEC msdb.dbo.rds_alter_workload_group @group_name = value, @IMPORTANCE = 'LOW|MEDIUM|HIGH', @REQUEST_MAX_MEMORY_GRANT_PERCENT = value, @REQUEST_MAX_CPU_TIME_SEC = value, @REQUEST_MEMORY_GRANT_TIMEOUT_SEC = value, @MAX_DOP = value, @GROUP_MAX_REQUESTS = value, @GROUP_MAX_TEMPDB_DATA_MB = value, @GROUP_MAX_TEMPDB_DATA_PERCENT = value, @pool_name = value

Les paramètres suivants sont obligatoires :

  • @group_name- Il s'agit du nom du groupe de charge de travail par défaut ou d'un groupe de charge de travail défini par l'utilisateur existant.

Note

La modification du seul REQUEST_MAX_MEMORY_GRANT_PERCENT paramètre du groupe de charge de travail par défaut est prise en charge. Pour le groupe de charge de travail par défaut, REQUEST_MAX_MEMORY_GRANT_PERCENT il doit être compris entre 1 et 70. Aucun autre paramètre ne peut être modifié dans le groupe de charge de travail par défaut. Tous les paramètres peuvent être modifiés dans le groupe de charge de travail défini par l'utilisateur.

Les paramètres suivants sont facultatifs :

  • @IMPORTANCE- Spécifie l'importance relative d'une demande dans le groupe de charge de travail. La valeur par défaut est MEDIUM.

  • @REQUEST_MAX_MEMORY_GRANT_PERCENT- Spécifie la quantité maximale de mémoire de l'espace de travail de requêtes qu'une seule demande peut extraire du pool. valueest un pourcentage de la taille du pool de ressources défini parMAX_MEMORY_PERCENT. La valeur par défaut est 25. Sur Amazon RDS, REQUEST_MAX_MEMORY_GRANT_PERCENT elle doit être comprise entre 1 et 70.

  • @REQUEST_MAX_CPU_TIME_SEC- Spécifie la durée maximale du processeur, en secondes, qu'une demande par lots peut utiliser. valuedoit être égal à 0 ou à un entier positif. Le paramètre par défaut value est 0, ce qui signifie illimité.

  • @REQUEST_MEMORY_GRANT_TIMEOUT_SEC- Spécifie la durée maximale, en secondes, pendant laquelle une requête peut attendre qu'une allocation de mémoire provenant de la mémoire de l'espace de travail de requêtes soit disponible. valuedoit être égal à 0 ou à un entier positif. Le paramètre par défaut pour value 0 utilise un calcul interne basé sur le coût de la requête pour déterminer la durée maximale.

  • @MAX_DOP- Spécifie le degré de parallélisme maximal (MAXDOP) pour l'exécution de requêtes en parallèle. La plage autorisée pour value est comprise entre 0 et 64. Le paramètre par défaut pour value 0 utilise le paramètre global.

  • @GROUP_MAX_REQUESTS- Spécifie le nombre maximum de demandes simultanées pouvant être exécutées dans le groupe de charge de travail. valuedoit être égal à 0 ou à un entier positif. Le paramètre par défaut value est 0 et autorise un nombre illimité de demandes.

  • @GROUP_MAX_TEMPDB_DATA_MB— Spécifie la quantité maximale d'espace de données tempdb, en mégaoctets, qu'un groupe de charge de travail peut consommer. valuedoit être 0, un nombre positif ou NULL. Les valeurs fractionnaires sont autorisées. Ce paramètre est disponible sur SQL Server 2025 et versions ultérieures.

  • @GROUP_MAX_TEMPDB_DATA_PERCENT— Spécifie la quantité maximale d'espace de données tempdb qu'un groupe de charge de travail peut consommer, en pourcentage de la taille maximale de la base de données tempdb. valuedoit être compris entre 0 et 100, ou NULL. Les valeurs fractionnaires sont autorisées. Quand GROUP_MAX_TEMPDB_DATA_MB est défini, ou lorsque la taille maximale de tempdb n'est pas définie, cela n'GROUP_MAX_TEMPDB_DATA_PERCENTa aucun effet. Ce paramètre est disponible sur SQL Server 2025 et versions ultérieures.

  • @pool_name- Associe le groupe de charge de travail au pool de ressources défini par l'utilisateur identifié parpool_name.

Exemples

Exemple pour modifier la modification du groupe de charge de travail par défaut REQUEST_MAX_MEMORY_GRANT_PERCENT :

--Modify default workload group (set memory grant cap to 10%) USE msdb EXEC dbo.rds_alter_workload_group @group_name = 'default', @REQUEST_MAX_MEMORY_GRANT_PERCENT=10; --Apply changes EXEC msdb.dbo.rds_alter_resource_governor_configuration; --Validate configuration SELECT * FROM sys.resource_governor_workload_groups WHERE name='default';

Exemple pour modifier un groupe de charge de travail autre que celui par défaut :

EXEC msdb.dbo.rds_alter_workload_group @group_name = 'analytics', @IMPORTANCE = 'HIGH', @REQUEST_MAX_MEMORY_GRANT_PERCENT = 30, @REQUEST_MAX_CPU_TIME_SEC = 3600, @REQUEST_MEMORY_GRANT_TIMEOUT_SEC = 60, @MAX_DOP = 4, @GROUP_MAX_REQUESTS = 100; --Apply changes EXEC msdb.dbo.rds_alter_resource_governor_configuration;

Exemple pour déplacer un groupe Non-Default de charge de travail vers un autre pool de ressources :

EXEC msdb.dbo.rds_alter_workload_group @group_name = 'analytics', @pool_name='abc' --Apply changes EXEC msdb.dbo.rds_alter_resource_governor_configuration; --Validate configuration select * from sys.resource_governor_workload_groups

Exemple de modification d'un groupe de charge de travail avec la gouvernance tempdb (SQL Server 2025 et versions ultérieures) :

-- Add tempdb limits to an existing workload group USE msdb; EXEC msdb.dbo.rds_alter_workload_group @group_name = 'etl_workload', @GROUP_MAX_TEMPDB_DATA_MB = 4096, @GROUP_MAX_TEMPDB_DATA_PERCENT = 50; -- Apply changes EXEC msdb.dbo.rds_alter_resource_governor_configuration; -- Validate configuration SELECT name, group_max_tempdb_data_mb, group_max_tempdb_data_percent FROM sys.resource_governor_workload_groups WHERE name = 'etl_workload';

Supprimer le groupe de charge de travail

Utilisation

EXEC msdb.dbo.rds_drop_workload_group @group_name = value

Les paramètres suivants sont obligatoires :

  • @group_name- Est le nom d'un groupe de charge de travail défini par l'utilisateur existant.

Exemples

--Drops a Workload Group: EXEC msdb.dbo.rds_drop_workload_group @group_name = 'analytics'; --Apply changes EXEC msdb.dbo.rds_alter_resource_governor_configuration; --Validate configuration select * from sys.resource_governor_workload_groups

Fonction de création et d'enregistrement de classificateur

Cette procédure crée une fonction de classification du gouverneur des ressources dans la base de données principale qui achemine les connexions vers des groupes de charge de travail personnalisés en fonction de critères spécifiés (nom d'utilisateur, base de données, hôte ou nom d'application). Si le gouverneur de ressources est activé et qu'une fonction de classification est spécifiée dans la configuration du gouverneur de ressources, la sortie de la fonction détermine le groupe de charge de travail utilisé pour les nouvelles sessions. En l'absence d'une fonction de classification, toutes les sessions sont classées dans le default groupe.

Fonctionnalités :

  • Supporte jusqu'à deux groupes de charge de travail avec leurs conditions de routage respectives.

  • Combine le critère avec AND les conditions au sein de chaque groupe.

  • Nécessite au moins un critère de routage par groupe de charge de travail.

  • Le nom de la fonction doit commencer parrg_classifier_.

  • Affectation de groupe par défaut si aucune condition ne correspond.

La fonction de classification présente les caractéristiques et comportements suivants :

  • La fonction est définie dans l'étendue du serveur (dans la base de données principale).

  • La fonction est définie par liaison de schéma.

  • La fonction est évaluée pour chaque nouvelle session, même lorsque le regroupement de connexions est activé.

  • La fonction renvoie le contexte du groupe de charge de travail pour la session. La session est affectée au groupe de charge de travail renvoyé par le classificateur pour la durée de vie de la session.

  • Si la fonction renvoie NULL, default, ou le nom d'un groupe de charge de travail inexistant, la session reçoit le contexte du groupe de charge de travail par défaut. Le contexte par défaut est également attribué à la session si la fonction échoue pour une raison quelconque.

  • Vous pouvez créer plusieurs fonctions de classification. Cependant, SQL Server n'autorise l'enregistrement que d'une seule fonction de classification à la fois.

  • La fonction de classification ne peut pas être supprimée à moins que son statut de classificateur ne soit supprimé à l'aide de la procédure de désenregistrement (EXEC dbo.msdb.rds_alter_resource_governor_configuration @deregister_function = 1;) qui définit le nom de la fonction sur NULL ou qu'une autre fonction de classification ne soit enregistrée à l'aide de () EXEC dbo.msdb.rds_alter_resource_governor_configuration @classifier_function = <function_name>;

  • En l'absence d'une fonction de classification, toutes les sessions sont classées dans le groupe par défaut.

  • Vous ne pouvez pas modifier une fonction de classification lorsqu'elle est référencée dans la configuration du gouverneur de ressources. Vous pouvez toutefois modifier la configuration pour utiliser une fonction de classification différente. Si vous souhaitez apporter des modifications au classificateur, envisagez de créer deux fonctions de classification. Par exemple, vous pouvez créer rg_classifier_a etrg_classifier_b.

Utilisation

EXEC msdb.dbo.rds_create_classifier_function @function_name = value, @workload_group1 = value, @user_name1 = value, @db_name1 = value, @host_name1 = value, @app_name1 = value, @workload_group2 = value, @user_name2 = value, @db_name2 = value, @host_name2 = value, @app_name2 = value

Les paramètres suivants sont obligatoires :

  • @function_name- Nom de la fonction de classification. Il faut commencer par rg_classifier_

  • @workload_group1- Nom du premier groupe de charge de travail

Les paramètres suivants sont facultatifs :

(Au moins un de ces critères doit être spécifié pour le groupe 1)

  • @user_name1- Nom de connexion pour le groupe 1

  • @db_name1- Nom de la base de données pour le groupe 1

  • @host_name1- Nom de l'hôte du groupe 1

  • @app_name1- Nom de l'application pour le groupe 1

(Si le groupe 2 est spécifié, au moins un critère doit être fourni)

  • @workload_group2- Nom du deuxième groupe de charge de travail

  • @user_name2- Nom de connexion pour le groupe 2

  • @db_name2- Nom de la base de données pour le groupe 2

  • @host_name2- Nom de l'hôte du groupe 2

  • @app_name2- Nom de l'application pour le groupe 2

Note

Les comptes système, les bases de données, les applications et l'hôte sont restreints.

Exemples

Exemple de base avec un groupe de charge de travail :

/*Create a classifier to route all requests from 'PowerBI' app to workload group 'reporting_group'*/ EXEC msdb.dbo.rds_create_classifier_function @function_name = 'rg_classifier_a', @workload_group1 = 'reporting_group', @app_name1 = 'PowerBI'; --Register the classifier EXEC msdb.dbo.rds_alter_resource_governor_configuration @classifier_function = 'rg_classifier_a'; -- Apply changes EXEC msdb.dbo.rds_alter_resource_governor_configuration /*Query sys.resource_governor_configuration to validate that resource governor is enabled and is using the classifier function we created and registered*/ use master go SELECT OBJECT_SCHEMA_NAME(classifier_function_id) AS classifier_schema_name, OBJECT_NAME(classifier_function_id) AS classifier_object_name, is_enabled FROM sys.resource_governor_configuration;

Fonction Drop Classifier

Utilisation

USE [msdb] EXEC dbo.rds_drop_classifier_function @function_name = value;

Les paramètres suivants sont obligatoires :

  • @function_name- Est le nom d'une fonction de classification définie par l'utilisateur existante

Exemple

EXEC msdb.dbo.rds_drop_classifier_function @function_name = 'rg_classifier_b';

De-register fonction de classification

Utilisez cette procédure pour annuler l'enregistrement de la fonction de classification. Une fois la fonction désenregistrée, les nouvelles sessions sont automatiquement attribuées au groupe de charge de travail par défaut.

Utilisation

USE [msdb] EXEC dbo.rds_alter_resource_governor_configuration @deregister_function = 1;

Pour annuler l'enregistrement, le paramètre suivant est requis :

  • @deregister_functiondoit être 1

Exemple

EXEC msdb.dbo.rds_alter_resource_governor_configuration @deregister_function = 1; GO -- Apply changes EXEC msdb.dbo.rds_alter_resource_governor_configuration;

Réinitialiser les statistiques

Les statistiques du gouverneur de ressources sont cumulatives depuis le dernier redémarrage du serveur. Si vous devez collecter des statistiques à partir d'un certain moment, vous pouvez les réinitialiser à l'aide de la procédure stockée Amazon RDS suivante.

Utilisation

USE [msdb] EXEC dbo.rds_alter_resource_governor_configuration @reset_statistics = 1;

Pour réinitialiser les statistiques, le paramètre suivant est requis :

  • @reset_statisticsdoit être 1

Modifications de configuration du gouverneur de ressources

Lorsque le gouverneur de ressources n'est pas activé, rds_alter_resource_governor_configuration active le gouverneur de ressources. L'activation du gouverneur de ressources donne les résultats suivants :

  • La fonction de classification, le cas échéant, est exécutée pour les nouvelles sessions, en les affectant à des groupes de charge de travail.

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

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

  • Les demandes qui existaient avant l'activation du gouverneur de ressources peuvent être affectées par les modifications de configuration apportées lorsque le gouverneur de ressources est activé.

  • Les demandes existantes, avant l'activation du gouverneur de ressources, peuvent être affectées par les modifications de configuration apportées lorsque le gouverneur de ressources est activé.

  • Sur RDS pour SQL Server, elle EXEC msdb.dbo.rds_alter_resource_governor_configuration doit être exécutée pour que toute modification de configuration du gouverneur de ressources soit prise en compte.

Utilisation

USE [msdb] EXEC dbo.rds_alter_resource_governor_configuration

Liez TempDB à un pool de ressources

Vous pouvez lier des métadonnées optimisées pour la mémoire tempdb à un pool de ressources spécifique rds_bind_tempdb_metadata_to_resource_pool à l'aide d'Amazon RDS SQL Server 2019 et versions ultérieures.

Note

Memory-optimized La fonctionnalité de métadonnées tempdb doit être activée avant de lier les métadonnées tempdb au pool de ressources. Pour activer cette fonctionnalité sur Amazon RDS, il s'agit d'un paramètre statiquetempdb metadata memory-optimized.

Activez le paramètre statique sur Amazon RDS et effectuez un redémarrage sans basculement pour que le paramètre prenne effet :

aws rds modify-db-parameter-group \ --db-parameter-group-name test-sqlserver-ee-2022 \ --parameters "ParameterName='tempdb metadata memory-optimized',ParameterValue=True,ApplyMethod=pending-reboot"

Utilisation

USE [msdb] EXEC dbo.rds_bind_tempdb_metadata_to_resource_pool @pool_name=value;

Les paramètres suivants sont obligatoires :

  • @pool_name- Est le nom d'un pool de ressources défini par l'utilisateur existant.

Note

Cette modification nécessite également le redémarrage du service SQL sans basculement pour prendre effet, même si la fonctionnalité de métadonnées Memory-optimized TempDB est déjà activée.

Dissocier TempDB d'un pool de ressources

Dissociez les métadonnées optimisées pour la mémoire tempdb d'un pool de ressources.

Note

Cette modification nécessite également le redémarrage du service SQL sans basculement pour prendre effet.

Utilisation

USE [msdb] EXEC dbo.rds_unbind_tempdb_metadata_from_resource_pool

Gouverneur des ressources de nettoyage

Cette procédure consiste à nettoyer tous les objets associés après avoir supprimé l'option Resource Governor du groupe d'options. Cela désactive le gouverneur de ressources, rétablit les paramètres par défaut du groupe de charge de travail par défaut, supprime les groupes de charge de travail personnalisés, les pools de ressources et les fonctions de classification.

Fonctions principales

  • Rétablit les paramètres par défaut du groupe de charge de travail par défaut

  • Désactive le gouverneur de ressources

  • Supprime les groupes de charge de travail personnalisés

  • Supprime les pools de ressources personnalisés

  • Fonctions du classificateur Drops

  • Supprime la liaison au pool de ressources tempdb si elle est activée

Important

Ce nettoyage peut générer des erreurs s'il existe des sessions actives dans le groupe de charge de travail. Attendez la fin des sessions actives ou mettez fin aux sessions actives selon les besoins de votre entreprise. Il est recommandé de l'exécuter pendant la fenêtre de maintenance.

Ce nettoyage peut générer une erreur si un pool de ressources était lié à tempdb et si le redémarrage sans basculement n'a pas encore eu lieu. Si vous avez lié un pool de ressources à tempdb ou si vous avez dissocié un pool de ressources de tempdb plus tôt, effectuez un redémarrage sans basculement pour que la modification soit effective. Il est recommandé de l'exécuter pendant la fenêtre de maintenance.

Utilisation

USE [msdb] EXEC dbo.rds_cleanup_resource_governor