8651: Could not perform the operation because the requested memory grant was not available (opération impossible : l'octroi de mémoire demandé n'était pas disponible)
SQL ServerQue signifie cette erreur ?
L'octroi de mémoire exigé par la requête n'était pas disponible et l'opération n'a pas pu être effectuée. Contrairement à 8645, il ne s'agit pas d'une attente mais d'une impossibilité pure et simple de fournir le gros bloc de mémoire demandé ; cela indique généralement une forte pression mémoire.
Cause
La mémoire de requête disponible sur le serveur ne peut pas satisfaire l'octroi demandé par un seul opérateur (par ex. un très gros tri/hash). Des estimations de mémoire excessives, un max server memory bas, une pression mémoire externe ou une limite Resource Governor basse, REQUEST_MAX_MEMORY_GRANT_PERCENT (workload group) ou MAX_MEMORY_PERCENT (resource pool), peuvent en être la cause.
Comment la corriger
Optimisez les requêtes qui gonflent les octrois de mémoire (mise à jour des statistiques, indexation appropriée, découpage de la requête). Surveillez la mémoire totale et disponible ; vérifiez le paramètre max server memory et la pression mémoire des applications externes. Si Resource Governor est utilisé, revoyez les paramètres REQUEST_MAX_MEMORY_GRANT_PERCENT du workload group et MAX_MEMORY_PERCENT du pool. Déplacez les traitements par lots gourmands en mémoire en heures creuses.
Autres entrées pour ce moteur
- 7202Could not find server 'name' in sys.servers (serveur 'name' introuvable dans sys.servers)
- 40501The service is currently busy. Retry the request after 10 seconds (le service est actuellement occupé ; réessayez dans 10 secondes)
- 8645A time out occurred while waiting for memory resources to execute the query (timeout en attendant les ressources mémoire nécessaires à l'exécution de la requête)
- 5061ALTER DATABASE failed because a lock could not be placed on database (échec d'ALTER DATABASE : impossible de poser un verrou sur la base)
- 3702Cannot drop database because it is currently in use (impossible de supprimer la base : elle est en cours d'utilisation)
- 15138The database principal owns a schema in the database, and cannot be dropped (le principal de base de données possède un schéma et ne peut pas être supprimé)
- 1934INSERT/UPDATE failed because the following SET options have incorrect settings (échec d'INSERT/UPDATE : les options SET suivantes sont mal réglées)