KB2938460 – FIX: Eine Zugriffsverletzung tritt auf, wenn Sie versuchen, datepart (weekday) in einer nativ kompilierten gespeicherten Prozedur in SQL Server 2014 zu verwenden

Gilt für
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Symptome

Angenommen, Sie verwenden Microsoft SQL Server 2014. Wenn Sie versuchen, datepart (weekday) in einer nativ kompilierten gespeicherten Prozedur zu verwenden, liegt eine Zugriffsverletzung vor, und die Verbindung wird beendet. Außerdem wird der folgende Fehler angezeigt:

Hinweis

Für den aktuellen Befehl ist ein schwerwiegender Fehler aufgetreten. Die Ergebnisse sollten, falls vorhanden, verworfen werden.

Ursache

Das Problem tritt aufgrund eines Fehlers in SQL Server 2014 auf.
Die Verwendung von datepart mit einem char-Argument führt eine implizite Konvertierung von datetimeoffset ein. Die native gespeicherte Prozedur unterstützt datetimeoffset nicht.

Lösung

Nachdem der Hotfix angewendet wurde, nimmt SQL Server eine Änderung vor, um eine neue Logik einzuführen, um das char-Argument in datetime2 für native gespeicherte Prozeduren und datetimeoffset für reguläre gespeicherte Prozeduren und konstantes Falten zu konvertieren.
Das Problem wurde erstmals im folgenden kumulativen Update von SQL Server behoben.

Kumulatives Update 1 für SQL Server 2014 /de-de/help/2931693

Informationen zu kumulativen Updates für SQL Server

Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und Sicherheitsfixes, die im vorherigen kumulativen Update enthalten waren. Sehen Sie sich die neuesten kumulativen Updates für SQL Server an:

      

Problemumgehung

Um das Problem zu umgehen, konvertieren Sie explizit in einen unterstützten datetime-Typ.

Status

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