Partager via


DDL du gouverneur de ressources et vues système

Vous pouvez utiliser des commandes DDL du gouverneur de ressources, des affichages catalogue et des vue de gestion dynamique pour tous les aspects du gouverneur de ressources. En plus des nouvelles vues qui sont spécifiques au gouverneur de ressources, les vues système existantes ont été modifiées pour inclure des informations sur le gouverneur de ressources. Cette rubrique résume les instructions et vues suivantes :

  • Les commandes DDL, notamment les commandes pour les groupes de charges de travail, les pools de ressources et le gouverneur de ressources.

  • Les vues système du gouverneur de ressources, notamment les affichages catalogue et les vues de gestion dynamique.

  • Les vues système SQL Server mises à jour pour prendre en charge le gouverneur de ressources.

  • La classe d'événements SQL Server met à jour aussi bien les nouvelles classes d'événements pour prendre en charge le gouverneur de ressources.

Instructions DDL

Le gouverneur de ressources fournit sept commandes DDL que vous pouvez utiliser pour configurer tous les aspects d'une session du gouverneur de ressources. Les commandes CREATE, ALTER et DROP sont destinées aux groupes de charges de travail et aux pools de ressources. Il y a également une instruction ALTER RESOURCE GOVERNOR RECONFIGURE qui applique des modifications de configuration.

Les informations essentielles à connaître sur les commandes DDL du gouverneur de ressources sont les suivantes :

  • Les instructions CREATE, ALTER et DROP fonctionnent sur les métadonnées stockées et sont transactionnelles. Toutefois, l'achèvement de ces instructions ne rend pas les modifications effectives ; vous devez exécuter l'instruction ALTER RESOURCE GOVERNOR RECONFIGURE pour appliquer des modifications.

  • Les instructions précédentes peuvent faire partie d'une transaction pour empêcher des modifications simultanées à la même configuration par plusieurs utilisateurs. Cette opération s'effectue en utilisant BEGIN TRANSACTION et COMMIT TRANSACTION avec les instructions. Tous les verrous détenus sur une transaction sont visibles dans sys.dm_tran_locks et la transaction peut être arrêtée si nécessaire.

    [!REMARQUE]

    Même si elle n'est pas obligatoire, nous vous recommandons fortement d'utiliser la syntaxe transactionnelle lors de l'utilisation des instructions DDL du gouverneur de ressources. Toutefois, ALTER RESOURCE GOVERNOR DISABLE, ALTER RESOURCE GOVERNOR RECONFIGURE et ALTER RESOURCE GOVERNOR RESET STATISTICS ne peuvent pas faire partie d'une transaction utilisateur.

  • L'instruction ALTER…RECONFIGURE charge les métadonnées dans la mémoire et peut échouer. Vous ne pouvez pas restaurer cette instruction. Si l'instruction échoue, les modifications apportées aux métadonnées ne sont pas copiées vers la mémoire. Si l'instruction réussit, les modifications sont effectives. L'instruction ALTER…RECONFIGURE n'est pas transactionnelle, et les modifications ne peuvent pas être restaurées.

Commandes de pool de ressources

Utilisez les commandes décrites dans le tableau suivant pour configurer des pools de ressources.

Instruction DDL

Description

CREATE RESOURCE POOL

Crée un pool de ressources.

ALTER RESOURCE POOL

Modifie la configuration d'un pool de ressources. Cette instruction écrit les modifications dans les métadonnées de configuration stockées. Après avoir exécuté cette instruction, vous devez exécuter l'instruction ALTER RESOURCE GOVERNOR pour écrire les informations de métadonnées dans la configuration en mémoire.

DROP RESOURCE POOL

Supprime un pool de ressources.

Le gouverneur de ressources fournit quatre paramètres pour configurer un pool de ressources. Ce sont les paramètres suivants :

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

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

Selon la modification que vous apportez à une configuration de pool de ressources, il peut y avoir une période de transition et des comportements connus pour gérer les demandes en attente ou actives au cours de cette transition. Pour plus d'informations, consultez États du gouverneur de ressources.

Commandes de groupe de charge de travail

Utilisez les commandes décrites dans le tableau suivant pour configurer des groupes de charges de travail.

Commande DDL

Description

CREATE WORKLOAD GROUP

Crée un groupe de charge de travail et l'associe à un pool de ressources.

ALTER WORKLOAD GROUP

Modifie la configuration d'un groupe de charge de travail. Cette instruction écrit les modifications dans les métadonnées de configuration stockées. Après avoir exécuté cette instruction, vous devez exécuter l'instruction ALTER RESOURCE GOVERNOR pour écrire les informations de métadonnées dans la configuration en mémoire.

DROP WORKLOAD GROUP

Supprime un groupe de charge de travail.

Le gouverneur de ressources fournit les six paramètres suivants pour configurer un groupe de charge de travail :

  • La quantité de mémoire maximale pour une demande.

  • Le pourcentage maximal d'UC à utiliser pour une demande.

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

  • L'importance relative d'une demande.

  • Le nombre maximal de demandes pour un groupe de charge de travail.

  • Le pool de ressources qui va contenir le groupe de charge de travail.

Selon la modification que vous apportez à une configuration de groupe charges de travail, il existe des comportements connus pour gérer des demandes en attente ou actives lorsque les modifications sont appliquées. Pour plus d'informations, consultez États du gouverneur de ressources.

Commande du gouverneur de ressources

Utilisez la commandes décrite dans le tableau suivant pour configurer le gouverneur de ressources.

Commande DDL

Description

ALTER RESOURCE GOVERNOR

Applique des modifications de configuration spécifiées avec une commande ALTER, active ou désactive RESOURCE GOVERNOR, enregistre une fonction classifieur ou réinitialise les statistiques.

L'instruction ALTER RESOURCE GOVERNOR permet d'exécuter les opérations suivantes :

  • L'application des modifications de configuration qui sont spécifiées lorsque les instructions ALTER WORKLOAD GROUP ou ALTER RESOURCE POOL sont exécutées.

  • L'activation ou la désactivation du gouverneur de ressources. Cela est également utilisé pour appliquer des modifications de configuration.

  • L'enregistrement d'une fonction pour la classification de demande.

  • La réinitialisation des statistiques sur tous les groupes de charges de travail et pools de ressources.

Selon la modification que vous apportez à une configuration de gouverneur de ressources, il existe des comportements connus pour gérer des demandes en attente ou actives lorsque les modifications sont appliquées. Pour plus d'informations, consultez États du gouverneur de ressources.

Vues du gouverneur de ressources

Les affichages catalogue et les vues de gestion dynamique suivants sont spécifiques au gouverneur de ressources.

Affichages catalogue

Les affichages catalogue du gouverneur de ressources sont décrits dans le tableau suivant.

Nom

Description

sys.resource_governor_configuration

Retourne l'état du gouverneur de ressources stocké.

sys.resource_governor_resource_pools

Retourne la configuration de pool de ressources stockée. Chaque ligne de la vue détermine la configuration d'un pool.

sys.resource_governor_workload_groups

Retourne la configuration de groupe de charge de travail stockée.

Vues de gestion dynamique

Les vues de gestion dynamique du gouverneur de ressources sont décrites dans le tableau suivant.

Nom

Description

sys.dm_resource_governor_workload_groups

Retourne les statistiques de groupe de charge de travail et la configuration en mémoire actuelle du groupe de charge de travail.

sys.dm_resource_governor_resource_pools

Retourne des informations sur l'état actuel de pool de ressources, la configuration actuelle des pools de ressources, et les statistiques de pool de ressources.

sys.dm_resource_governor_configuration

Retourne une ligne qui contient l'état de configuration en mémoire actuel pour le gouverneur de ressources.

Vues SQL Server

Plusieurs vues système SQL Server ont été mises à jour et fournissent des informations sur le gouverneur de ressources.

Vues de gestion dynamique

Les vues de gestion dynamique SQL Server sont décrites dans le tableau suivant.

Nom

Description

sys.dm_exec_query_memory_grants

Retourne des informations concernant les requêtes qui ont acquis une allocation de mémoire ou qui requièrent encore une allocation de mémoire pour s'exécuter. Les requêtes qui n'ont pas besoin d'attendre une allocation de mémoire n'apparaissent pas dans cette vue. Les colonnes suivantes sont ajoutées pour le gouverneur de ressources :

  • group_id

  • pool_id

  • is_small

  • ideal_memory_kb

sys.dm_exec_query_resource_semaphores

Retourne les informations relatives à l'état actuel du sémaphore de ressource de requête. sys.dm_exec_query_resource_semaphores fournit des informations générales sur l'état de mémoire d'exécution de requête et vous permet de déterminer si le système est en mesure d'accéder à une quantité de mémoire suffisante.

La colonne suivante est ajoutée pour le gouverneur de ressources :

  • pool_id

sys.dm_exec_sessions

Retourne une ligne par session authentifiée sur SQL Server.

La colonne suivante est ajoutée pour le gouverneur de ressources :

  • group_id

sys.dm_exec_requests

Retourne des informations sur chaque demande qui s'exécute dans SQL Server.

La colonne suivante est ajoutée pour le gouverneur de ressources :

  • group_id

sys.dm_exec_cached_plans

Retourne une ligne pour chaque plan de requête qui est mis en cache par SQL Server pour une exécution plus rapide.

La colonne suivante est ajoutée pour le gouverneur de ressources :

  • pool_id

sys.dm_os_memory_brokers

Les allocations qui sont internes à SQL Server utilisent le gestionnaire de mémoire SQL Server.

Les colonnes suivantes sont ajoutées pour le gouverneur de ressources :

  • pool_id

  • allocations_kb_per_sec

  • predicated_allocations_kb

  • overall_limit_kb

sys.dm_os_wait_stats

Retourne des informations sur les attentes subies par les threads en cours d'exécution. Vous pouvez utiliser cette vue pour diagnostiquer les problèmes de performance liés à SQL Server et aussi à des requêtes et des lots spécifiques.

Référence de classe d'événements SQL Server

Plusieurs classes d'événements SQL Server ont été mises à jour et des nouvelles classes d'événements ont été ajoutées pour prendre en charge le gouverneur de ressources.

Nom

Description

Classe d'événements CPU Threshold Exceeded

Cette classe d'événements indique que le gouverneur de ressources détecte une requête qui dépasse le seuil de l'UC spécifié pour REQUEST_MAX_CPU_TIME_SEC.

Classe d'événements PreConnect:Starting

Cette classe d'événements indique quand un déclencheur LOGON ou une fonction classifieur du gouverneur de ressources commence à s'exécuter.

Classe d'événements PreConnect:Completed

Cette classe d'événements indique quand un déclencheur LOGON ou une fonction classifieur du gouverneur de ressources termine de s'exécuter.