Gejala
Pertimbangkan skenario berikut:
-
Anda memiliki kueri yang menggunakan predikat non-persamaan pada kolom GUID yang unik di SQL Server 2014 atau 2016.
-
Statistik diperbarui dengan menggunakan pengambilan sampel default. Atau, baris baru disisipkan ke dalam tabel setelah pembaruan Statistik terakhir.
-
SQL Server menggunakan pengukur Cardinality baru di mana mode kompatibilitas database diatur ke 120.
-
Nilai GUID non-seragam didistribusikan di seluruh tabel.
Dalam skenario ini saat menjalankan kueri, Anda mungkin mengalami kinerja yang buruk karena salah memperkirakan jumlah baris untuk predikat dalam rencana kueri.
Pemecahan Masalah
Masalah ini pertama kali diperbaiki dalam pembaruan kumulatif berikut ini untuk SQL Server:
Pembaruan kumulatif 6 untuk SQL server 2014 Service Pack 1pembaruan kumulatif 1 untuk SQL Server 2016Setelah Anda menginstal paket pembaruan kumulatif ini, Anda harus mengaktifkan bendera pelacakan 4199. Untuk melakukan ini, Anda bisa menambahkan parameter startup -T4199 . Atau, Anda bisa menggunakan pernyataan DBCC TRACEON (4199) untuk sesi tertentu.
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 2014Pembaruan kumulatif terbaru untuk SQL Server 2016
Status
Microsoft telah mengonfirmasi bahwa ini adalah masalah pada produk Microsoft yang tercantum di bagian "Berlaku untuk".
Referensi
Pelajari tentang terminologi yang digunakan oleh Microsoft untuk menjelaskan pembaruan perangkat lunak.