KB2938460 - PERBAIKI: Pelanggaran akses terjadi saat Anda mencoba menggunakan datepart (weekday) dalam prosedur tersimpan yang dikompilasi secara native di SQL Server 2014

Berlaku Untuk
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Gejala

Asumsikan Anda menggunakan Microsoft SQL Server 2014. Ketika Anda mencoba menggunakan datepart (hari kerja) dalam prosedur yang disimpan yang dikompilasi secara asli, terjadi pelanggaran akses dan koneksi berakhir. Selain itu, Anda akan menerima kesalahan berikut:

Catatan

Terjadi kesalahan serius pada perintah saat ini. Hasilnya, jika ada, harus dibuang.

Penyebab

Masalah ini terjadi karena cacat di SQL Server 2014.
Menggunakan datepart dengan argumen char memperkenalkan konversi implisit ke datetimeoffset. Prosedur yang disimpan Native tidak mendukung datetimeoffset.

Resolusi

Setelah hotfix diterapkan, SQL Server akan membuat perubahan untuk memperkenalkan logika baru untuk mengonversi argumen char menjadi datetime2 untuk prosedur tersimpan asli dan datetimeoffset untuk prosedur tersimpan reguler dan lipatan konstan.
Masalah pertama kali diperbaiki dalam pembaruan kumulatif SQL Server berikut.

Pembaruan Kumulatif 1 untuk SQL Server 2014 /en-us/help/2931693

Tentang pembaruan kumulatif untuk SQL Server

Setiap pembaruan kumulatif baru untuk SQL Server berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan pembaruan kumulatif sebelumnya. Lihat pembaruan kumulatif terbaru untuk SQL Server:

      

Solusi

Untuk mengatasi masalah tersebut, konversikan secara eksplisit ke tipe tanggalwaktu yang didukung.

Status

Microsoft telah mengonfirmasi bahwa ini adalah masalah dalam produk Microsoft sebagaimana tercantum di bagian "Berlaku untuk".