États du gouverneur de ressources

Le gouverneur de ressources a deux états dans SQL Server : activé ou désactivé. Ces états affectent des opérations fondamentales ainsi que le traitement de la charge de travail lorsque vous apportez des modifications de configuration. Cette rubrique traite des états du gouverneur de ressources et ce qui arrive lorsque :

  • La configuration et l'état initiaux lorsque le gouverneur de ressources est installé.

  • Vous activez ou désactivez le gouverneur de ressources.

  • Vous modifiez une configuration de gouverneur de ressources.

Configuration initiale

Lorsque le gouverneur de ressources est installé, les groupes de charges de travail suivants et leurs pools de ressources correspondants sont créés :

  • Groupe interne et pool interne.

  • Groupe par défaut et pool par défaut.

À ce stade, le gouverneur de ressources est désactivé.

Activer ou désactiver le gouverneur de ressources

Les comportements suivants sont normaux lorsque vous activez ou désactivez le gouverneur de ressources.

Activer le gouverneur de ressources

Pour activer le gouverneur de ressources, exécutez l'instruction ALTER RESOURCE GOVERNOR RECONFIGURE. L'activation du gouverneur de ressources entraîne les résultats suivants :

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

  • Les limites de ressource 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 effectuées lorsque le gouverneur de ressources était désactivé.

Désactiver le gouverneur de ressources

Pour désactiver le gouverneur de ressources, exécutez l'instruction ALTER RESOURCE GOVERNOR DISABLE. 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 du gouverneur de ressources peut être modifiée lorsque celui-ci est désactivé, mais les modifications n'entrent pas en vigueur tant que le gouverneur de ressources n'est pas activé.

  • Lors du redémarrage 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.

Modification de la configuration du gouverneur de ressources

Les modifications de configuration du gouverneur de ressources n'entrent pas immédiatement en vigueur. Une modification de configuration se produit en deux étapes :

  1. Exécutez l'instruction ALTER appropriée pour modifier un paramètre de pool de ressources ou de groupe de charges de travail. Cette opération met à jour les métadonnées de configuration.

  2. Exécutez l'instruction ALTER RESOURCE GOVERNOR. Cette opération copie les métadonnées mises à jour dans la configuration en mémoire. Le tableau suivant décrit à quel moment les modifications de configuration générales prennent effet et sont visibles dans une session du gouverneur de ressources.

Composant

Description

Classification définie par l'utilisateur

La modification est effective pour les nouvelles connexions de session.

Pool de ressources

Les sessions de longue durée seront affectées vraisemblablement par la modification ; les sessions courtes peuvent prendre fin avant que la modification ne prenne effet.

Groupe de charges de travail

Les sessions actives ne sont pas affectées par la modification mais les nouvelles connexions le sont.

En plus du comportement de session général lorsque les instructions DDL du gouverneur de ressources sont exécutées, les paramètres individuels dans un pool de ressources ou un groupe de charges de travail produisent des résultats prévisibles et ont un effet spécifique lors du traitement lorsque vous les modifiez.

Paramètres de pool de ressources

Il existe quatre paramètres pour configurer un pool de ressources. Ces paramètres sont :

  • Un pourcentage minimal et maximal pour l'utilisation de l'UC.

  • Un pourcentage minimal et maximal pour l'utilisation de la mémoire.

Lorsque vous appliquez des modifications à une configuration de pool de ressources, il y a une période de transition pendant laquelle les demandes actives ou en attente sont traitées. Le tableau suivant décrit les spécifications de session et le comportement de session lorsque vous appliquez des modifications à un paramètre de pool de ressources.

Paramètre

Action

Description

Pourcentage minimal

Augmenter ou diminuer

  • Augmenter : tous les autres pools de ressources sont réduits à leurs paramètres maximaux effectifs. Si tous les paramètres minimaux totalisent 100 pour cent, vous devez réduire certains paramètres minimaux dans les autres pools de ressources, puis augmenter le paramètre minimal du pool de ressources actuel.

  • Diminuer : si les paramètres maximaux effectifs sont égaux au minimum, la mémoire non allouée est extraite du pool de ressources et les demandes en file d'attente peuvent échouer. La mémoire allouée n'est pas extraite du pool de ressources tant que les demandes actives ne sont pas terminées.

Pourcentage maximal

Augmenter ou diminuer

  • Augmenter : pas de problème suite à la modification de paramètre.

  • Diminuer : si la nouvelle valeur est plus élevée que l'utilisation réelle, il n'y a aucun problème. Si la nouvelle valeur est inférieure à l'utilisation réelle, il y a une période de transition. Les demandes existantes aboutissent avant que la modification puisse être apportée, et les nouvelles demandes peuvent commencer à échouer.

Paramètres de groupe de charges de travail

Il y a sept paramètres pour configurer un groupe de charges de travail. Ces paramètres sont :

  • Une allocation de mémoire maximale pour une demande.

  • Un temps processeur maximal pour une demande.

  • Un délai d'expiration de ressource pour une demande.

  • Un paramètre d'importance relative pour une demande.

  • Une limite de groupe de travail pour le nombre de demandes.

  • Un degré maximal de parallélisme.

  • Un pool de ressources spécifié.

Paramètre

Action

Description

Mémoire maximale

Augmenter ou diminuer

  • Augmenter. Aucun effet sur les requêtes actives, et ces requêtes peuvent obtenir plus de mémoire si celle-ci est disponible.

  • Diminuer. Les demandes actives ne sont pas affectées, mais les nouvelles auront moins de mémoire.

Temps processeur maximal

Augmenter ou diminuer

  • Augmenter. Aucun effet sur les requêtes actives.

  • Diminuer. Provoque le déclenchement d'un événement pour une requête au-dessus de la limite, mais la requête continue à s'exécuter.

Délai d'expiration de ressource

Augmenter ou diminuer

Les requêtes qui attendent déjà dans la file d'attente ne sont pas affectées. Les nouvelles requêtes utilisent le nouveau paramètre.

Importance

Augmenter ou diminuer

N'affecte que la distribution UC pour les requêtes dans le groupe de charges de travail.

Nombre maximal de demandes

Augmenter ou diminuer

  • Augmenter. Aucun effet sur les requêtes existantes.

  • Diminuer. Les requêtes existantes ne sont pas affectées, mais les nouvelles attendent et peuvent expirer.

Degré maximal de parallélisme

Augmenter ou diminuer

N'affecte que la compilation et l'exécution des nouvelles requêtes.

Pool de ressources spécifié

Modifier

Les demandes actives continuent à utiliser le pool de ressources existant et ses paramètres. Les nouvelles demandes utilisent le nouveau pool et ses paramètres.

Paramètres du gouverneur de ressources

En plus de modifier une configuration de gouverneur de ressources ou modifier l'état actuel du gouverneur de ressources, vous pouvez utiliser l'instruction ALTER RESOURCE GOVERNOR RECONFIGURE pour créer ou modifier la fonction classifieur.

Lorsque vous enregistrez une nouvelle fonction classifieur, vous changez les règles utilisées pour acheminer de nouvelles connexions à un groupe de charges de travail différent. Cette modification n'affecte pas les requêtes qui sont déjà classifiées ; elle affecte seulement les nouvelles requêtes.