MSSQLSERVER_8621
Dettagli
Nome prodotto |
SQL Server |
Versione prodotto |
10.0 |
Numero di build del prodotto |
10.00.0000.00 |
ID evento |
8621 |
Origine evento |
MSSQLSERVER |
Componente |
SQLEngine |
Nome simbolico |
OPTIMIZER_STACK_OVERFLOW_ERR |
Testo del messaggio |
Spazio di stack esaurito durante l'ottimizzazione della query da parte di Query Processor. Semplificare la query. |
Spiegazione
La causa più probabile dell'errore risiede nelle dimensioni della query espansa, che sostituisce nella query originale le definizioni di ogni vista, colonna calcolata, funzione Transact-SQL ed espressione di tabella comune a cui fa riferimento, nonché di ogni operazione di propagazione, ad esempio l'aggiornamento di indici secondari, viste e trigger.
Probabilmente la query presenta alcune dimensioni grandi, ad esempio il numero di tabelle a cui fanno riferimento le definizioni delle viste o un'espressione scalare di dimensioni molto estese.
Azione utente
Semplificare la query suddividendola in più query secondo la dimensione più grande. Rimuovere innanzitutto qualsiasi elemento della query non strettamente necessario, quindi provare ad aggiungere una tabella temporanea e separare la query in due parti. Non è sufficiente spostare semplicemente una parte della query in una subquery, funzione o espressione di tabella comune, poiché verrebbero ricombinate dal compilatore Transact-SQL.