Проблема
Предположим, что у вас есть экземпляр Microsoft SQL Server 2012 с установленным накопительным пакетом обновления 7 (SP1) для SQL Server 2012 или более поздней версии. Вы выполняете системную хранимую процедуру sp_describe_undeclared_parameters, и хранимая процедура включает инструкцию always FALSE в оператор for @tsql . Например:
@tsql= sp_describe_undeclared_parameters N'SELECT * from testTable where column1 = @p1 AND 1=2'В этой ситуации выполнение sp_describe_undeclared_parameters завершается сбоем, и появляется следующее сообщение об ошибке:
Примечание
MSG 11502, уровень 16, состояние 2, строка 28
Тип параметра '@p1' не может быть выведен в этом контексте.
Примечание. Эта проблема также встречается в SQL Server 2014.
Решение
Сведения о накопительном пакете обновления
Эта проблема была впервые исправлена в следующем накопительном пакете обновления SQL Server.
- Накопительный пакет обновления 1 для SQL Server 2014 с пакетом обновления 1 (SP1)
- Накопительный пакет обновления 7 для SQL Server 2014
- Накопительный пакет обновления 5 для SQL Server 2012 с пакетом обновления 2 (SP2)
Рекомендация. Установите последний накопительный пакет обновления для SQL Server
Каждый новый накопительный пакет обновления для SQL Server содержит все исправления и исправления безопасности, которые входили в состав предыдущего накопительного пакета обновления. Рекомендуется скачать и установить последние накопительные пакеты обновления для SQL Server:
- Последний накопительный пакет обновления для SQL Server 2014 с пакетом обновления 1 (SP1)
- Последний накопительный пакет обновления для SQL Server 2014
- Последний накопительный пакет обновления для SQL Server 2012 с пакетом обновления 2 (SP2)
Состояние
Корпорация Майкрософт подтвердила, что это проблема продуктов Microsoft, перечисленных в разделе «Относится к».