Проблемы
Предположим, что вы создаете собственную скомпилированную хранимую процедуру с помощью запроса, содержащего большое выражение, которое содержит более 256 операторов в Microsoft SQL Server 2014. При попытке использовать showplan_xml для запроса или процедуры появляется следующее сообщение об ошибке:
Сообщение 41322, уровень 16, состояние 33, процедура <sp_name><строки, line_number>при экспорте и импорте в режиме "подчеркивание" произошла ошибка для оптимизированной для обработки памяти или хранимой процедуры с кодом объекта <ИДЕНТИФИКАЦИОНный номер>в идентификаторе базы данных< идентификационный номер >. Код ошибки: 0x88000015.
Причина
Эта проблема возникает из-за ошибки в SQL Server 2014.
Решение
После применения исправления showplan_xml будет успешно выполняться для собственной процедуры с большим количеством операторов. Эта проблема впервые устранена в следующем накопительном обновлении SQL Server.
Накопительное обновление 1 для SQL Server 2014 /en-us/help/2931693
Все новые накопительные обновления для SQL Server содержат все исправления и все исправления для системы безопасности, которые были включены в предыдущий накопительный пакет обновления. Ознакомьтесь с самыми последними накопительными обновлениями для SQL Server.
Обходное решение
Чтобы обойти эту проблему, используйте описанные ниже временные решения.
-
Разбейте выражения на несколько вложенных выражений.
-
Используйте круглые скобки для явной принудительной вложенности выражений, чтобы сделать их более широкой, но неглубокой, а не вложенным деревом выражений.
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".