Configuration du serveur : attente de requête

S'applique à : SQL Server

Cet article explique comment configurer l’option de configuration du serveur d’attente de requête dans SQL Server à l’aide de SQL Server Management Studio ou de Transact-SQL. Les requêtes gourmandes en mémoire (telles que celles impliquant le tri et le hachage) sont mises en file d’attente lorsqu’il n’y a pas suffisamment de mémoire disponible pour exécuter la requête. L’option d’attente de requête spécifie le temps, en secondes (de 0 à 2 147 483 647), qu’une requête attend les ressources avant qu’elle expire. La valeur par défaut de cette option est -1. Cela signifie que le délai d'attente est calculé comme étant 25 fois le coût estimé de la requête.

Important

Une transaction contenant la requête en attente peut contenir des verrous en attendant une quantité supplémentaire de mémoire. Dans de rares situations, il est possible qu’un interblocage indétectable se produise. En réduisant la durée d’attente de la requête, vous réduisez également la probabilité de déclenchement de ces verrous. À la fin de celle-ci, une requête en attente est arrêtée et les verrous de la transaction sont libérés. Toutefois, l’augmentation du temps d’attente maximal peut augmenter la durée pendant laquelle la requête doit être arrêtée. Les modifications apportées à cette option ne sont pas recommandées.

Recommandations

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

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. Cliquez sur le nœud Avancé.

  3. Sous Parallélisme, tapez la valeur de votre choix pour l'option query wait .

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 attribuer à l’option query wait la valeur 7500 secondes.

    USE master;
    GO
    
    EXECUTE sp_configure 'show advanced options', 1;
    GO
    
    RECONFIGURE;
    GO
    
    EXECUTE sp_configure 'query wait', 7500;
    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 d’attente de requête

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