MSSQLSERVER_8621

Détails

Nom du produit

SQL Server

Version du produit

10.0

Numéro de version

10.00.0000.00

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 substitue dans la requête d'origine les définitions de toutes les vues, colonnes calculées, fonctions Transact-SQL et expressions de table commune auxquelles elle fait référence, ainsi que les actions en cascade telles que la mise à jour des index secondaires, des vues et des 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 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 simple déplacement d'une partie de la requête vers une sous-requête, une fonction ou une expression de table commune ne suffit pas, car ces éléments sont réassociés par le compilateur Transact-SQL.