MSSQLSERVER_8621
Aplica-se a: SQL Server
Detalhes
Atributo | Valor |
---|---|
Nome do produto | SQL Server |
ID do evento | 8621 |
Origem do Evento | MSSQLSERVER |
Componente | SQLEngine |
Nome simbólico | OPTIMIZER_STACK_OVERFLOW_ERR |
Texto da mensagem | O processador de consultas ficou sem espaço de pilha suficiente durante a otimização da consulta. Simplifique a consulta. |
Explicação
É provável que a causa do erro seja o tamanho da consulta expandida. A consulta expandida substitui na consulta original as definições de cada uma das exibições, colunas computadas, funções Transact-SQL e expressões de tabela comuns às quais ela faz referência, bem como ações em cascata, como atualizar índices secundários, exibições e gatilhos.
É provável que a consulta seja grande em alguma dimensão; por exemplo, o número de tabelas referenciadas por definições de exibição ou uma expressão escalar muito grande.
Ação do usuário
Simplifique a consulta dividindo-a em várias consultas na dimensão maior. Primeiro remova todos os elementos da consulta que não são de fato necessários e, depois, tente adicionar uma tabela temporária e dividir a consulta em duas. Simplesmente mover uma parte da consulta para uma subconsulta, função ou expressão de tabela comum é insuficiente porque elas são recombinadas pelo compilador Transact-SQL.