MSSQLSERVER_8621
S'applique à : SQL Server
Détails
Attribut | Valeur |
---|---|
Nom du produit | SQL Server |
ID de l’événement | 8621 |
Source de l’événement | MSSQLSERVER |
Composant | SQLEngine |
Nom symbolique | OPTIMIZER_STACK_OVERFLOW_ERR |
Texte du message | Espace de pile du processeur de requêtes insuffisant lors de l'optimisation de la requête. Simplifiez la requête. |
Explication
La taille de la requête développée est la cause la plus probable de l'erreur. La requête développée se substitue à la requête d’origine les définitions de chacune des vues, colonnes calculées, fonctions Transact-SQL et expressions de table courantes qu’elle référence, ainsi que des actions en cascade telles que la mise à jour d’index secondaires, de vues et de déclencheurs.
La requête possède probablement une dimension importante ; par exemple, le nombre de tables référencées par les définitions de vues ou une expression scalaire très importante.
Action de l’utilisateur
Simplifiez la requête en la divisant en plusieurs requêtes le long de la dimension la plus importante. Commencez par supprimer tous les éléments de la requête qui ne sont pas réellement nécessaires, puis essayez d'ajouter une table temporaire et de diviser la requête en deux. Le déplacement d’une partie de la requête vers une sous-requête, une fonction ou une expression de table commune est insuffisant, car ils sont combinés par le compilateur Transact-SQL.