Gejala
Ketika Anda mencoba menjalankan beberapa kueri besar pada saat yang sama di Microsoft SQL Server 2014, beberapa kueri mungkin menunggu RESOURCE_SEMAPHORE_QUERY_COMPILE. Hanya satu kueri yang memerlukan lebih banyak memori daripada ambang Gateway besar (seperti yang disediakan oleh output perintah DBCC MEMORYSTATUS ) untuk dikompilasi bisa dilanjutkan, meskipun server memiliki memori yang cukup.Catatan Ini adalah perilaku yang diharapkan. Namun, dalam sistem batch besar seperti gudang data, ini bisa menurunkan kinerja bersamaan dalam mengeksekusi banyak kueri.
Pemecahan Masalah
Informasi pembaruan kumulatif
Masalah ini pertama kali diperbaiki dalam pembaruan kumulatif SQL Server berikut ini.
Setiap pembaruan kumulatif baru untuk SQL Server berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan pembaruan kumulatif sebelumnya. Kami menyarankan Anda mengunduh dan menginstal pembaruan kumulatif terbaru untuk SQL Server:
Hotfix ini memperkenalkan bendera pelacakan baru-T 6498. Bendera pelacakan ini memungkinkan lebih dari satu kompilasi kueri besar untuk mendapatkan akses ke Gateway besar bila ada memori yang cukup. Ini didasarkan pada persentase memori target SQL Server 80, dan memungkinkan untuk satu kompilasi kueri besar per 25 gigabyte (GB) memori. Misalnya, ini memungkinkan dua kompilasi kueri besar di komputer memori target 64 GB. Setelah Anda menerapkan perbaikan terbaru ini, Anda harus mengaktifkan bendera pelacakan-T 6498 untuk mengaktifkan perilaku baru. Catatan Jika Anda mengaktifkan bendera pelacakan dengan menggunakan perintah DBCC TRACEON , Anda tidak harus memulai ulang server agar bendera pelacakan diterapkan. Tapi mungkin butuh waktu 10 detik untuk menerapkan konfigurasi gateway besar baru. Hotfix yang didukung tersedia dari Microsoft. Namun, hotfix ini ditujukan untuk mengoreksi masalah yang diuraikan dalam artikel ini saja. Menerapkan hotfix ini hanya ke sistem yang mengalami masalah khusus ini. Jika perbaikan terbaru tersedia untuk diunduh, terdapat bagian "tersedia unduhan hotfix" di bagian atas artikel Pangkalan Pengetahuan ini. Jika bagian ini tidak muncul, kirimkan permintaan ke layanan pelanggan Microsoft dan dukungan untuk mendapatkan hotfix. Catatan Jika masalah tambahan terjadi atau jika pemecahan masalah diperlukan, Anda mungkin harus membuat permintaan layanan secara terpisah. Biaya dukungan biasa akan diterapkan pada pertanyaan dan masalah dukungan tambahan yang tidak memenuhi syarat untuk hotfix ini. Untuk daftar lengkap nomor telepon layanan pelanggan Microsoft dan dukungan atau untuk membuat permintaan layanan secara terpisah, kunjungi situs web Microsoft berikut ini:
http://support.microsoft.com/contactus/?ws=support Catatan Formulir "tersedia unduhan hotfix" menampilkan bahasa di mana hotfix tersedia. Jika Anda tidak melihat bahasa Anda, itu karena hotfix tidak tersedia untuk bahasa tersebut.
Informasi Selengkapnya
PenyebabSQL Server menggunakan gateway kompilasi untuk mengompilasi throttle. Arsitektur Gateway adalah cara untuk SQL Server untuk mempertahankan penggunaan memori untuk kompilasi kueri yang masuk di bawah kontrol. Ada tiga Gateway: kecil, sedang, dan besar. Untuk informasi selengkapnya tentang cara menggunakan perintah DBCC MEMORYSTATUS untuk memantau penggunaan memori, lihat KB 907877: cara menggunakan perintah DBCC memorystatus untuk memantau penggunaan memori di SQL Server 2005.
Status
Microsoft telah mengonfirmasi bahwa ini adalah masalah pada produk Microsoft yang tercantum di bagian "Berlaku untuk".