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

S'applique à : SQL Server

Cet article explique comment configurer l’option de configuration du query governor cost limit serveur dans SQL Server à l’aide de SQL Server Management Studio ou de 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 figure abstraite déterminée par l’optimiseur de requête en fonction des besoins d’exécution estimés, tels que le temps processeur, la mémoire et les E/S de 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 figure abstraite ne correspond pas au temps nécessaire pour terminer 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, qui définit le gouverneur de requête sur désactivé. La définition de la valeur pour permettre à 0 toutes les requêtes de s’exécuter sans aucune 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

Seul un administrateur de base de données qualifié ou un spécialiste agréé doit changer cette option avancée SQL Server.

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_configure pour définir la valeur de l’option query governor cost limit sur une limite supérieure estimée du coût de requête de 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 limite des coûts du gouverneur de requête

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