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.