KB3136496 - FIX: Toegangsfout treedt op wanneer een query verwijst naar een SQLCLRR-functie via een synoniem in SQL Server 2014 en 2016

Van toepassing op
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)

Symptomen

Neem als voorbeeld het volgende scenario:

  • Er is een SQLCLR-functie die wordt gedeclareerd als "deterministisch", en de functie kan worden gebruikt voor de optimalisatie "vervangen door een constante".
  • Er is een synoniem dat naar de functie SQLCLR verwijst.
  • Een tabelwaardefunctie (TVF) verwijst naar de functie SQLCLR via het synoniem.

In dit scenario kan, wanneer een toepassing deze TVF opvraagt, een toegangsfout optreden en ontvangt u mogelijk een foutbericht van de volgende strekking:

Opmerking

  • Bericht 0, niveau 11, status 0, rij 14
  • Er is een ernstige fout opgetreden in de huidige opdracht. De resultaten, indien aanwezig, moeten worden genegeerd.

Bovendien wordt er een foutbericht geregistreerd in het foutenlogboek van SQL Server.

Oplossing

Servicepackgegevens voor SQL Server

Dit probleem is opgelost in het volgende servicepack voor SQL Server:

Servicepack 2 voor SQL Server 2016

Servicepack 3 voor SQL Server 2014

Over servicepacks voor SQL Server:

Servicepacks zijn cumulatief. Elk nieuw servicepack bevat alle correcties uit vorige servicepacks, samen met nieuwe oplossingen. Wij raden aan om het nieuwste servicepack en de meest recente cumulatieve update voor dit servicepack toe te passen. U hoeft geen eerdere servicepack te installeren voordat u het nieuwste servicepack installeert. Gebruik tabel 1 in het volgende artikel voor meer informatie over het nieuwste servicepack en de meest recente cumulatieve update.

Hoe u het versie-, editie- en updateniveau van SQL Server en zijn onderdelen bepaalt

Status

Microsoft heeft bevestigd dat dit een probleem is bij de Microsoft-producten die worden vermeld in de sectie Van toepassing op.

Meer informatie

Meer informatie over de terminologie die Microsoft gebruikt om software-updates te beschrijven.