Attribute | 值 |
---|---|
产品名称 | SQL Server |
事件 ID | 8621 |
事件源 | MSSQLSERVER |
组件 | SQLEngine |
符号名称 | OPTIMIZER_STACK_OVERFLOW_ERR |
消息正文 | 查询处理器在优化查询时堆栈空间不足。 请简化查询。 |
出错的最可能原因是扩展查询的大小。 扩展查询将每个视图、计算列、Transact-SQL 函数及其引用的公共表表达式的定义替换为原始查询,以及更新辅助索引、视图和触发器等级联操作。
很可能查询在某个维度中很大;例如,视图定义所引用的表数,或者很大的标量表达式。
通过沿最大维度将该查询分解为多个查询,对其进行简化。 首先删除实际上不需要的任何查询元素,然后尝试添加临时表并将该查询拆分为两个查询。 仅仅将查询的一部分移动到子查询、函数或公用表表达式是不够的,因为它们被 Transact-SQL 编译器重新组合。