MSSQLSERVER_8632
Применимо к:SQL Server
Сведения
Атрибут | значение |
---|---|
Название продукта | SQL Server |
Идентификатор события | 8632 |
Источник событий | MSSQLSERVER |
Компонент | SQLEngine |
Символическое имя | QUERY_EXPRESSION_TOO_COMPLEX |
Текст сообщения | Внутренняя ошибка: был достигнут предел служб выражений. Проверьте потенциально сложные выражения в запросе и постарайтесь их упростить. |
Пояснение
Ошибка 8632 возникает при выполнении запроса в SQL Server, содержащего большое количество идентификаторов и констант в одном выражении. Пользователю выводится сообщение об ошибке наподобие следующего:
Сервер: Msg 8632, level 17, State 2, Line 1
Внутренняя ошибка: был достигнут предел служб выражений. Проверьте потенциально сложные выражения в запросе и постарайтесь их упростить.
Причина
Эта проблема возникает, так как SQL Server ограничивает количество идентификаторов и констант, которые могут содержаться в одном выражении запроса. Превышение этого количества приводит к ошибке SQL Server (ошибка 8632). Например, следующий запрос содержит только одно выражение:
select a, b + c, d + e
Это выражение извлекает все пять столбцов, вычисляет операторы сложения и отправляет клиенту три спроецированных результата.
Тест на количество идентификаторов и констант выполняется после развертывания SQL Server всех ссылочных идентификаторов и констант. Например, могут развертываться следующие элементы:
- звездочка (*) в списке выбора;
- представление;
- определение вычисляемого столбца.
Если число идентификаторов и констант после развертывания превышает ограничение, выполнить запрос невозможно.
Действие пользователя
Для обхода этой проблемы измените запрос. Используйте меньше идентификаторов и констант в самом большом выражении в запросе. Количество идентификаторов и констант в каждом выражении запроса не должно превышать ограничение. Для этого может потребоваться разбить запрос на несколько отдельных с временными промежуточными результатами.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по