KB3136496 - CORRECCIÓN: Se produce una infracción de Access cuando una consulta hace referencia a una función SQLCLR a través de un sinónimo en SQL Server 2014 y 2016

Se aplica a
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)

Síntomas

Tenga en cuenta el siguiente escenario:

  • Hay una función SQLCLR que se declara como "determinista", y la función se puede usar para la optimización de "reemplazo con una constante".
  • Hay un sinónimo que apunta a la función SQLCLR.
  • Una función con valores de tabla (TVF) hace referencia a la función SQLCLR a través del sinónimo.

En este escenario, cuando una aplicación consulta este TVF, se puede producir una infracción de acceso y es posible que reciba un mensaje de error similar al siguiente:

Nota

  • Mensaje 0, Nivel 11, Estado 0, Fila 14
  • Se ha producido un error grave en el comando actual. Los resultados, si los hay, deben descartarse.

Además, se registra un mensaje de error en el registro de errores de SQL Server.

Resolución

Información del Service Pack para SQL Server

Este problema se ha corregido en el siguiente Service Pack para SQL Server:

Service Pack 2 para SQL Server 2016

Service Pack 3 para SQL Server 2014

Acerca de los Service Pack para SQL Server:

Los Service Packs son acumulativos. Cada Service Pack nuevo contiene todas las revisiones que se incluyen en los anteriores, además de otras nuevas. Nuestra recomendación es aplicar el Service Pack más reciente y la actualización acumulativa más reciente para ese Service Pack. No necesita instalar un Service Pack anterior antes de instalar el más reciente. Use la Tabla 1 del artículo siguiente para obtener más información sobre el Service Pack más reciente y la actualización acumulativa más reciente.

Cómo determinar el nivel de versión, edición y actualización de SQL Server y sus componentes

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".

Referencias

Obtenga información sobre la terminología que usa Microsoft para describir las actualizaciones de software.