Устранение ошибок переполнения стека в SQL Server - PullRequest
1 голос
/ 15 июля 2011

Как я могу эффективно устранить эту ошибку?

Процессору запросов не хватило места в стеке во время оптимизации запроса.Пожалуйста, упростите запрос.

Msg 8621, Уровень 17, Состояние 2

Я пытался прикрепить профилирование, но не уверен, что выбрал правильные сообщения.Я вижу ошибку там.Примерный план выполнения также дает эту ошибку.

Спрок, которого я вызываю, просто делает действительно простой UPDATE для одной таблицы.Есть один триггер UPDATE, но я его отключил, но он все еще дает мне эту ошибку.Я даже вынул то же самое утверждение UPDATE и ввел значения вручную.Он не возвращается так быстро, и все равно выдает ошибку.

Редактировать: ОК, мой сгенерированный скрипт устанавливает PK.Поэтому, если я установлю PK и другой столбец, я получу эту ошибку.Любые предложения в этом направлении?

Ответы [ 3 ]

4 голосов
/ 15 июля 2011

Об этом есть статья в Microsoft KB.

В основном это ошибка, и вам нужно обновить. Я предполагаю, что вы используете SQL Server 2005 sp2?

0 голосов
/ 07 июля 2017

Это не всегда ошибка!Похоже, что Даниил смог прийти к выводу, что запрос был не так прост, как он первоначально думал.

Эта статья , кажется, отвечает на тот же вопрос, что и Даниэль.Я просто столкнулся с той же ошибкой по другой (законной) причине.Динамический SQL, выполняемый в базе данных с данными, которых никто не ожидал, привел к единственному оператору выбора с сотнями таблиц.

0 голосов
/ 01 августа 2011

Существует большое количество ФК, на которые ссылается этот ПК. Я изменил наш код, чтобы больше не обновлять этот ПК.

...