Configurer locks (option de configuration de serveur)

S’applique à :SQL Server

Cette rubrique explique comment configurer l'option de configuration de serveur verrous dans SQL Server à l'aide de SQL Server Management Studio ou de Transact-SQL. L'option locks définit le nombre maximum de verrous disponibles, limitant ainsi la quantité de mémoire utilisée pour eux par le Moteur de base de données SQL Server . La valeur par défaut est 0 ; elle permet au Moteur de base de données d'allouer et de libérer des structures de verrous de manière dynamique en fonction des modifications de la configuration requise.

Important

Cette fonctionnalité sera supprimée dans une version future de SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité.

Dans cette rubrique

Avant de commencer

Recommandations

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

  • Lorsque le serveur est démarré alors que la valeur 0 est attribuée à l'option Verrous , le gestionnaire de verrous acquiert suffisamment de mémoire auprès du Moteur de base de données pour un pool initial de 2 500 structures de verrous. Lorsque ce pool est épuisé, le gestionnaire de verrous redemande de la mémoire.

    En règle générale, si une quantité de mémoire supérieure à celle du pool de mémoires du Moteur de base de données est requise pour le pool de verrous, et s’il reste de la mémoire sur l’ordinateur (c’est-à-dire si le seuil de l’option Mémoire maximum du serveur n’a pas été atteint), le Moteur de base de données alloue dynamiquement de la mémoire afin de satisfaire la demande de verrous. Cependant, si l'allocation de mémoire entraîne une pagination au niveau du système d'exploitation (par exemple, si une autre application est exécutée sur le même ordinateur en tant qu'instance de SQL Server et utilise cette mémoire), aucun espace supplémentaire n'est alloué pour les verrous. Le pool de verrous dynamiques n’acquiert pas plus de 60 pour cent de la mémoire allouée au Moteur de base de données. Une fois que le pool de verrous a atteint 60 pour cent de la mémoire acquise par une instance du Moteur de base de données, ou s’il ne reste plus de mémoire disponible sur l’ordinateur, les autres demandes de verrous génèrent une erreur.

    La configuration recommandée est l'autorisation de l'utilisation dynamique des verrous par SQL Server . Cependant, vous pouvez définir l'option locks et empêcher SQL Server d'allouer des ressources de verrous de façon dynamique. Quand l’option locks a une valeur différente de 0, le Moteur de base de données ne peut pas allouer plus de verrous que ce nombre. Augmentez cette valeur si SQL Server affiche un message vous informant que vous avez dépassé le nombre de verrous disponibles. Puisque chaque verrou consomme de la mémoire (96 octets par verrou), il est possible que l’augmentation de cette valeur vous oblige à augmenter la mémoire destinée au serveur.

  • L'option locks influence également le moment où a lieu l'escalade de verrous. Quand l’option locks a la valeur 0, l’escalade de verrous se produit quand la mémoire utilisée par les structures de verrous actuelles atteint 40 pour cent du pool de mémoire du Moteur de base de données . Lorsque l'option locks a une valeur différente de 0, l'escalade de verrous intervient quand le nombre de verrous atteint 40 pour cent de la valeur spécifiée pour Verrous.

Sécurité

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 d’exécuter l’instruction RECONFIGURE, un utilisateur doit disposer de l’autorisation de niveau serveur ALTER SETTINGS. L'autorisation ALTER SETTINGS est implicitement détenue par les rôles serveur fixes sysadmin et serveradmin .

Utilisation de SQL Server Management Studio

Pour définir l'option locks

  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 Parallelism, entrez la valeur appropriée de l'option locks .

    Utilisez l'option locks pour définir le nombre maximal de verrous disponibles et limiter ainsi la quantité de mémoire qu'utilise SQL Server avec les verrous.

Utilisation de Transact-SQL

Pour définir l'option locks

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

  2. Dans la barre d'outils standard, cliquez sur Nouvelle requête.

  3. Copiez et collez l'exemple suivant dans la fenêtre de requête, puis cliquez sur Exécuter. Cet exemple montre comment utiliser sp_configure pour attribuer à l’option locks de définition du nombre de verrous disponibles pour tous les utilisateurs la valeur 20000.

USE AdventureWorks2022;  
GO  
sp_configure 'show advanced options', 1;  
GO  
RECONFIGURE;  
GO  
sp_configure 'locks', 20000;  
GO  
RECONFIGURE;  
GO  

Pour plus d’informations, consultez Options de configuration de serveur (SQL Server).

Suivi : Après avoir configuré l'option Verrous

Le serveur doit être redémarré pour que le paramètre puisse être effet.

Voir aussi

RECONFIGURE (Transact-SQL)
Options de configuration du serveur (SQL Server)
sp_configure (Transact-SQL)