KB3136496 . ИСПРАВЛЕНИЕ. Нарушение доступа возникает, когда запрос ссылается на функцию SQLCLR через синоним в SQL Server 2014 и 2016

Применяется к
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) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Проблема

Рассмотрим следующий сценарий.

  • Существует функция SQLCLR, объявленная как детерминированная, и ее можно использовать для оптимизации "замена константой".
  • Существует синоним, указывающий на функцию SQLCLR.
  • Функция с табличным значением (TVF) ссылается на функцию SQLCLR через синоним.

В этом сценарии, когда приложение запрашивает этот TVF, может возникнуть нарушение доступа, и вы можете получить сообщение об ошибке, похожее на следующее:

Примечание

  • Сообщение 0, уровень 11, состояние 0, строка 14
  • В текущей команде произошла серьезная ошибка. Результаты, если таковые есть, следует отменить.

Кроме того, в журнале ошибок SQL Server регистрируется сообщение об ошибке.

Решение

Сведения о пакете обновления для SQL Server

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

Пакет обновления 2 (SP2) для SQL Server 2016

Пакет обновления 3 (SP3) для SQL Server 2014

Сведения о пакетах обновления для SQL Server:

Пакеты обновления являются накопительными. Каждый новый пакет обновления содержит все исправления, которые были в предыдущих пакетах обновления, а также все новые исправления. Мы рекомендуем применить последний пакет обновления и последнее накопительное обновление для этого пакета обновления. Вам не нужно устанавливать предыдущий пакет обновления перед установкой последнего пакета обновления. Дополнительные сведения о последнем пакете обновления и последнем накопительном обновлении см. в таблице 1 в следующей статье.

Определение версии, выпуска и уровня обновления SQL Server и его компонентов

Состояние

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

Ссылки

Узнайте о терминологии, используемой корпорацией Майкрософт для описания обновлений программного обеспечения.