Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
S'applique à :SQL Server
Cet article décrit comment configurer l’option de configuration du serveur locks dans SQL Server à l’aide de SQL Server Management Studio ou Transact-SQL. L’option locks définit le nombre maximal de verrous disponibles, ce qui limite la quantité de mémoire utilisée pour eux par le moteur de base de données. 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é.
Recommandations
Cette option est une option avancée et doit être modifiée uniquement par un professionnel de base de données expérimenté.
Lorsque le serveur est démarré alors que locks a la valeur 0, 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 max server memory (MB) 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 locks a une valeur différente de 0, le Moteur de base de données ne peut pas allouer davantage de verrous que la valeur spécifiée dans locks. 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. Lorsque 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 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 locks.
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
Dans l’Explorateur d’objets, cliquez avec le bouton droit sur un serveur et sélectionnez Propriétés.
Cliquez sur le nœud Avancé.
Sous Parallélisme, entrez la valeur de l’option
lockssouhaitée.Utilisez l’option
lockspour définir le nombre maximal de verrous disponibles, ce qui limite la quantité de mémoire utilisée pour eux par SQL Server.
Utiliser Transact-SQL
Connectez-vous au Moteur de base de données.
Dans la barre d’outils standard, sélectionnez Nouvelle requête.
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
locksde définition du nombre de verrous disponibles pour tous les utilisateurs la valeur20000.USE master; GO EXECUTE sp_configure 'show advanced options', 1; GO RECONFIGURE; GO EXECUTE sp_configure 'locks', 20000; 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 locks
Le serveur doit être redémarré pour que le paramètre puisse être effet.