Partager via


Configuration du serveur : Limite de coût du gouverneur de requête

S'applique à :SQL Server

Cet article décrit comment configurer l’option de configuration du serveur query governor cost limit dans SQL Server en utilisant SQL Server Management Studio ou Transact-SQL. L’option de limite de coût spécifie la limite supérieure du coût estimé autorisé pour l’exécution d’une requête donnée. Le coût de la requête est une valeur abstraite déterminée par l'optimiseur de requêtes en fonction des exigences d'exécution estimées, telles que le temps processeur, la mémoire et les entrées/sorties sur disque. Elle correspond à la durée estimée, en secondes, nécessaire à l'exécution complète d'une requête dans une configuration matérielle donnée. Cette valeur abstraite ne correspond pas au temps nécessaire à l’exécution d’une requête sur l’instance en cours d’exécution. Elle doit être traitée comme une mesure relative. La valeur par défaut de cette option est 0, ce qui désactive le gouverneur de requêtes. Si la valeur est définie sur 0, toutes les requêtes peuvent être exécutées sans limitation de temps. Si vous spécifiez une valeur positive et différente de zéro, l'Administrateur de requêtes n'autorise pas l'exécution de requêtes dont le coût estimé excède cette valeur.

Recommandations

Cette option est une option avancée et doit être modifiée uniquement par un professionnel de base de données expérimenté.

Pour modifier la valeur de l’option Limite de coût de l’Administrateur de requêtes pour chaque connexion, utilisez l’instruction SET QUERY_GOVERNOR_COST_LIMIT .

autorisations

Les autorisations d’exécution de sp_configure , sans paramètre ou avec le premier paramètre uniquement, sont accordées par défaut à tous les utilisateurs. Pour exécuter sp_configure avec les deux paramètres afin de modifier une option de configuration ou pour exécuter l’instruction RECONFIGURE, un utilisateur doit disposer de l’autorisation ALTER SETTINGS au niveau du serveur. L’autorisation ALTER SETTINGS est implicitement détenue par les rôles serveur fixes sysadmin et serveradmin.

Utiliser SQL Server Management Studio

  1. Dans l’Explorateur d’objets, cliquez avec le bouton droit sur un serveur et sélectionnez Propriétés.

  2. Sélectionnez la page Connexions.

  3. Cochez ou décochez la case Utiliser l’Administrateur de requêtes pour empêcher les requêtes longues .

    Si vous activez cette case à cocher, spécifiez dans la zone située ci-dessous une valeur positive, que l'Administrateur de requêtes utilise pour interdire l'exécution de toutes les requêtes dont le coût estimé dépasse cette valeur.

Utiliser Transact-SQL

  1. Connectez-vous au Moteur de base de données.

  2. Dans la barre d’outils standard, sélectionnez Nouvelle requête.

  3. Copiez et collez l’exemple suivant dans la fenêtre de requête, puis sélectionnez Exécuter. Cet exemple montre comment utiliser sp_configurepour définir la valeur de l’option query governor cost limit sur une limite supérieure du coût de la requête estimée à 120.

    USE master;
    GO
    
    EXECUTE sp_configure 'show advanced options', 1;
    GO
    
    RECONFIGURE;
    GO
    
    EXECUTE sp_configure 'query governor cost limit', 120;
    GO
    
    RECONFIGURE;
    GO
    
    EXECUTE sp_configure 'show advanced options', 0;
    GO
    
    RECONFIGURE;
    GO
    

Pour plus d’informations, consultez l’article Options de configuration du serveur.

Suivi : Après avoir configuré l'option de limitation de coût du gouverneur de requêtes

Le paramètre prend effet immédiatement sans redémarrage du serveur.