Partager via


Configuration du serveur : mémoire minimale par requête

S'applique à :SQL Server

Cet article décrit comment configurer l’option de configuration du serveur min memory per query dans SQL Server à l’aide de SQL Server Management Studio ou Transact-SQL. L’option min memory per query spécifie la quantité minimale de mémoire (en kilo-octets) à allouer pour l’exécution d’une requête. Cela est également appelé « allocation de mémoire minimale ». Par exemple, si la valeur attribuée à min memory per query est 2 048 Ko, la requête est assurée de bénéficier au minimum de cette quantité de mémoire. La valeur par défaut est 1 024 Ko. La valeur minimale est de 512 Ko et la valeur maximale de 2 147 483 647 Ko (2 Go).

Limites

La valeur du paramètre min memory per query prévaut par rapport à celle du paramètre index create memory. Si vous modifiez ces deux options et que le paramètre index create memory est inférieur au paramètre min memory per query, un message d’avertissement s’affiche, mais la valeur définie est acceptée. Lors de l’exécution de requêtes, vous recevez un autre avertissement similaire.

Recommandations

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

Le processeur de requêtes SQL Server tente de déterminer la quantité de mémoire optimale à allouer à une requête. L'option min memory per query permet à l'administrateur de spécifier la quantité minimale de mémoire que reçoit n'importe quelle requête. Les requêtes reçoivent généralement une quantité de mémoire supérieure si elles doivent effectuer des opérations de hachage et de tri sur un grand volume de données. L’attribution d’une valeur supérieure à min memory per query peut améliorer les performances pour certaines requêtes de taille petite à moyenne, mais cela risque de donner lieu à une concurrence accrue pour les ressources mémoire. L’option min memory per query inclut la mémoire allouée aux opérations de tri.

N’affectez pas une valeur trop élevée à l’option de configuration du serveur min memory per query, en particulier sur des systèmes très sollicités, car la requête devra attendre 1 qu’elle puisse sécuriser la mémoire minimale demandée ou que la valeur spécifiée dans l’option de configuration du serveur d’attente de la requête soit atteinte. S’il y a davantage de mémoire disponible pour exécuter la requête que ne le demande la valeur minimale spécifiée, la requête aura l’autorisation d’utiliser la mémoire additionnelle, si cette mémoire peut être utilisée efficacement par la requête.

1 Dans ce scénario, le type d’attente est généralement RESOURCE_SEMAPHORE. Pour plus d’informations, consultez sys.dm_os_wait_stats.

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 le nœud Mémoire.

  3. Dans la zone Mémoire minimale par requête, entrez la quantité minimale de mémoire (en kilo-octets) à allouer pour l’exécution d’une requête.

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 min memory per query la valeur 3500 Ko.

    USE master;
    GO
    
    EXECUTE sp_configure 'show advanced options', 1;
    GO
    
    RECONFIGURE;
    GO
    
    EXECUTE sp_configure 'min memory per query', 3500;
    GO
    
    RECONFIGURE;
    GO
    
    EXECUTE sp_configure 'show advanced options', 0;
    GO
    
    RECONFIGURE;
    GO
    

Suivi : Après avoir configuré l’option min memory per query

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