Проблемы
Рассмотрим следующий сценарий:
• У вас есть хранимая процедура, которая содержит TRY... Конструкция CATCH в Microsoft SQL Server.
• Хранимая процедура включает предложение WITH RESULT SETS и выполняется методом sp_prepare или sp_execute.
• Перед выполнением раздела END TRY хранимая процедура удаляется. Это приводит к ошибке 2812, похожей на "Не удалось найти хранимую процедуру <SP_Name>".
В этой ситуации SQL Server аварийно завершает работу и создает нарушение доступа (AV), которое в конечном итоге может привести к завершению работы сервера. Кроме того, файл дампа создается в папке журнала ошибок SQL Server.
Решение
Эта проблема устранена в следующих накопительных обновлениях для SQL Server:
Накопительный пакет обновления 7 для SQL Server 2016 RTM
Накопительный пакет обновления 3 для SQL Server 2016 с пакетом обновления 1 (SP1)
Накопительный пакет обновления 6 для SQL Server 2014 с пакетом обновления 2 (SP2)
Накопительный пакет обновления 13 для SQL Server 2014 с пакетом обновления 1 (SP1)
Накопительный пакет обновления 9 для SQL Server 2012 с пакетом обновления 3 (SP3)
Каждое новое накопительное обновление для SQL Server содержит все исправления и все исправления для системы безопасности, которые были включены в предыдущее накопительное обновление. Ознакомьтесь с последними накопительными обновлениями для SQL Server:
Последнее накопительное обновление для SQL Server 2016
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".
Ссылки
Сведения о терминологии, которую корпорация Майкрософт использует для описания обновлений программного обеспечения.