KB3136496 – KORREKTUR: Zugriffsverletzung tritt auf, wenn eine Abfrage über ein Synonym in SQL Server 2014 und 2016 auf eine SQLCLR-Funktion verweist

Gilt für
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)

Symptome

Nehmen Sie folgendes Szenario an:

  • Es gibt eine SQLCLR-Funktion, die als "deterministisch" deklariert ist, und die Funktion kann für die Optimierung "Ersetzen durch eine Konstante" verwendet werden.
  • Es gibt ein Synonym, das auf die SQLCLR-Funktion verweist.
  • Eine Tabellenwertfunktion (Table-Valued Function, TVF) verweist über das Synonym auf die SQLCLR-Funktion.

Wenn in diesem Szenario eine Anwendung diesen TVF abfragt, kann es zu einer Zugriffsverletzung kommen, und Sie erhalten möglicherweise eine Fehlermeldung, die der folgenden ähnelt:

Hinweis

  • Meldung 0, Ebene 11, Status 0, Zeile 14
  • Beim aktuellen Befehl ist ein schwerwiegender Fehler aufgetreten. Die Ergebnisse sollten ggf. verworfen werden.

Darüber hinaus wird eine Fehlermeldung im SQL Server Fehlerprotokoll protokolliert.

Lösung

Service Pack-Informationen für SQL Server

Dieses Problem wurde im folgenden Service Pack für SQL Server behoben:

Service Pack 2 für SQL Server 2016

Service Pack 3 für SQL Server 2014

Informationen zu Service Packs für SQL Server:

Service Packs sind kumulativ. Jedes neue Service Pack enthält neben neuen Updates alle Updates früherer Service Packs. Es wird empfohlen, das neueste Service Pack und das neueste kumulative Update für dieses Service Pack anzuwenden. Sie müssen also keine älteren Versionen eines Service Packs installieren, bevor Sie das neueste Service Pack installieren. Verwenden Sie Tabelle 1 im folgenden Artikel, um weitere Informationen zum neuesten Service Pack und zum neuesten kumulativen Update zu finden.

Ermitteln der Version, Edition und Updatestufe von SQL Server und seinen Komponenten

Status

Microsoft hat bestätigt, dass dies ein Problem bei den Microsoft-Produkten ist, die im Abschnitt „Gilt für“ aufgeführt sind.

Referenzmaterial

Informieren Sie sich über die Terminologie, die Microsoft zum Beschreiben von Softwareupdates verwendet.