KB3168710 — ИСПРАВЛЕНО: CONTEXT_INFO возвращает неверные значения, когда context_info заканчивается двумя конечными нулями в SQL Server 2014 или 2016

Применяется к
SQL Server 2014 Express - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Web - duplicate (do not use) SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use)

Проблема

Предположим, что вы используете функцию CONTEXT_INFO system в SQL Server 2014 или 2016. Если назначить context_info шестнадцатеричное значение, которое заканчивается конечными нулями, каждое сочетание двух конечных нулей («00») усекается. Поэтому при получении значения context_info с помощью функции CONTEXT_INFO возвращаются неверные значения.

Решение

Проблема устранена в следующих накопительных обновлениях SQL Server:

Рекомендация. Установите последний накопительный пакет обновления для SQL Server

Каждый новый накопительный пакет обновления для SQL Server содержит все исправления и исправления безопасности, которые входили в состав предыдущего накопительного пакета обновления. Рекомендуется скачать и установить последние накопительные пакеты обновления для SQL Server:

      

Состояние

Корпорация Майкрософт подтвердила, что это проблема продуктов Microsoft, перечисленных в разделе «Относится к».