Gejala
Misalnya Anda membuat prosedur tersimpan yang sudah dikompilasi dengan kueri yang berisi ekspresi besar yang memiliki lebih dari 256 operator di Microsoft SQL Server 2014. Saat Anda mencoba menggunakan showplan_xml pada kueri atau prosedur, Anda menerima kesalahan berikut:
MSG 41322, tingkat 16, 33 negara, prosedur <sp_name>, garis <line_number >Mat/Pit ekspor/impor mengalami kegagalan untuk memori dioptimalkan tabel atau prosedur yang disimpan Native dikompilasi dengan ID objek< nomor id >di database ID <nomor id>. Kode kesalahan adalah 0x88000015.
Penyebab
Masalah ini terjadi karena kerusakan di SQL Server 2014.
Pemecahan Masalah
Setelah hotfix diterapkan, showplan_xml akan berhasil untuk prosedur asli yang memiliki banyak operator. Masalah ini pertama kali diperbaiki dalam pembaruan kumulatif SQL Server berikut ini.
Pembaruan kumulatif 1 untuk SQL Server 2014 /en-us/help/2931693
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:
Penyelesaian Masalah
Untuk mengatasi masalah ini, gunakan solusi berikut:
-
Memisahkan ekspresi ke dalam beberapa subekspresi.
-
Gunakan tanda kurung untuk memaksa bersarang ekspresi secara eksplisit untuk membuat pohon ekspresi yang lebar namun dangkal dan bukan pohon ekspresi yang bertumpuk.
Status
Microsoft telah mengonfirmasi bahwa ini adalah masalah pada produk Microsoft yang tercantum di bagian "Berlaku untuk".