KB4054398-memperbaiki: "perbandingan tidak valid karena tidak ada pemeriksaan" menyatakan ritel yang terjadi di SQL Server 2014, 2016, dan 2017

Gejala

Asumsikan Anda memiliki kueri yang menjalankan beberapa operasi string misalnya, penggabungan, pada kolom CHAR atau VARCHAR di Microsoft SQL Server 2014, 2016, dan 2017. Pertimbangkan skenario berikut:

  • Anda menggabungkan kolom dengan Collations berbeda yang ditetapkan untuk mereka.

  • Collations tersebut tidak kompatibel dengan satu sama lain. Misalnya, Anda mencoba menggabungkan kolom yang dikolasi sebagai Latin1_General_CI_AI dengan Latin1_General_BIN.

  • Hasil akhir penggabungan ditetapkan ke pemeriksaan tertentu (termasuk "database_default") sebagai masalah resolusi konflik kolase.

Dalam skenario ini, SQL Server mungkin mengembalikan ritel menegaskan bahwa menyatakan "perbandingan tidak valid karena tidak ada KOLASI", dan Anda mungkin menerima beberapa pesan kesalahan yang menyerupai berikut ini:

Lokasi: typinfo. CPP:Linenumber Ekspresi: false SPID: SPID ID proses: Processid Deskripsi: perbandingan tidak valid karena tidak ada KOLASI.

MSG 3624, tingkat 20, negara bagian 1, baris Linenumber Pemeriksaan pernyataan sistem gagal. Periksa log kesalahan SQL Server untuk detailnya. Biasanya, kegagalan pernyataan disebabkan oleh bug perangkat lunak atau kerusakan data. Untuk memeriksa kerusakan database, pertimbangkan untuk menjalankan DBCC CHECKDB. Jika Anda setuju untuk mengirim timbunan ke Microsoft selama penyetelan, dump mini akan dikirim ke Microsoft. Pembaruan mungkin tersedia dari Microsoft dalam paket layanan terbaru atau dalam hotfix dari dukungan teknis.

MSG 596, tingkat 21, negara bagian 1, baris Linenumber Tidak dapat melanjutkan eksekusi karena sesi dalam status Kill.

MSG 0, tingkat 20, status 0, baris Linenumber

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

Penyebab

Selama tahap pengoptimalan kueri, SQL Server mencoba menghitung cardinalitas pada hasil menengah dari berbagai tingkatan kueri, misalnya, penggabungan. Karena resolusi konflik kolase terjadi di bagian paling akhir, kueri Optimizer mungkin tidak menyadarinya dan mencoba melakukan perhitungan cardinalitas penggabungan pada input dengan kolasi berkonflik.

Pemecahan Masalah

Masalah ini telah diperbaiki dalam pembaruan kumulatif berikut ini untuk SQL Server:

       Pembaruan kumulatif 8 untuk SQL Server 2016 SP1  

       Pembaruan kumulatif 4 untuk SQL Server 2017

       Pembaruan kumulatif 9 untuk SQL Server 2014 SP2

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:

Pembaruan kumulatif terbaru untuk SQL Server 2016

Pembaruan kumulatif terbaru untuk SQL Server 2017

Pembaruan kumulatif terbaru untuk SQL Server 2014

Status

Microsoft telah mengonfirmasi bahwa ini adalah masalah pada produk Microsoft yang tercantum di bagian "Berlaku untuk".

Referensi

Pelajari tentang terminologiyang digunakan Microsoft untuk menjelaskan pembaruan perangkat lunak.

Perlu bantuan lainnya?

Kembangkan keterampilan Anda
Jelajahi pelatihan
Dapatkan fitur baru terlebih dahulu
Gabung Microsoft Insider

Apakah informasi ini bermanfaat?

Terima kasih atas umpan balik Anda!

Terima kasih atas umpan balik Anda! Sepertinya menghubungkan Anda ke salah satu agen dukungan Office kami akan sangat membantu.

×