Gejala
Misalnya Anda memiliki tabel Microsoft SQL Server yang memiliki satu atau beberapa indeks yang dibangun di atasnya. Saat Anda melakukan kueri terhadap tabel, SQL Server mungkin menjalankan padding data yang tidak konsisten untuk kolom CHAR dan BINARY. Perilaku yang tidak konsisten untuk kembali trailing kosong di akhir kolom data CHAR dan BINARY tergantung pada kondisi berikut:
-
Pengaturan ANSI_PADDING ketika kolom dibuat dalam tabel SQL Server.
-
Keputusan untuk melakukan pemindaian tabel atau indeks dicari pada kolom.
Penyebab
Dalam skenario tertentu, SQL Server mungkin melakukan optimasi yang memungkinkan untuk melewati banyak operasi untuk pengiriman data lebih cepat. Masalah ini terjadi karena SQL Server tidak mengenali bahwa optimasi tidak dapat diterapkan untuk skenario di atas.
Informasi Selengkapnya
Perilaku SQL Server ini tidak sesuai dengan perilaku yang didokumentasikan dalam artikel berikut: menggunakan data char dan varchar.
Jika ANSI_PADDING aktif ketika kolom NULL char dibuat, kolom tersebut berperilaku sama seperti kolom char bukan NULL: Values tepat untuk ukuran kolom. Jika ANSI_PADDING tidak aktif ketika kolom NULL char dibuat, maka akan berperilaku seperti kolom varchar dengan ANSI_PADDING set OFF: tanda kosong terpotong.
Pemecahan Masalah
Masalah ini telah diperbaiki dalam pembaruan kumulatif berikut ini untuk SQL Server:
Pembaruan kumulatif 2 untuk SQL Server 2017
Pembaruan kumulatif 9 untuk SQL Server 2016
Pembaruan kumulatif 6 untuk SQL Server 2016 SP1
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 2017
Status
Microsoft telah mengonfirmasikan bahwa ini adalah masalah di produk Microsoft yang tercantum di bagian "berlaku untuk"
Referensi
Pelajari tentang terminologiyang digunakan Microsoft untuk menjelaskan pembaruan perangkat lunak.