Gejala
Saat Anda menggunakan tipe data spasial dan metode terkait di Microsoft SQL Server 2012 atau Microsoft SQL Sever 2014, target kuantum sistem operasi SQL Server (SQLOS) yang diproteksi oleh lapisan hosting SQL Server CLR. Proteksi ini melibatkan pencegahan, SQLOS switch dapat menambah konsumsi CPU. Alasan untuk Sakelar pencegahan adalah untuk memproteksi Penjadwal SQLOS. Panggilan ke dalam implementasi berbasis SQL Server CLR dapat memakan waktu yang tidak ditentukan tanpa menyerah pada Penjadwal sqlos atau mengubah pola perilaku dan konkurensi. Oleh karena itu, tipe data spasial dirancang untuk beralih pada setiap permintaan. Catatan Tipe data spasial didasarkan pada SQL Server CLR, mungkin menghadapi berbagai tingkatan dari penggunaan memori .NET dan perilaku pergantian thread.
Penyebab
Eksekusi metode tipe data spasial biasanya sub-milidetik dan mungkin tidak memerlukan Penjadwal dan proteksi pencegahan SQL OS. Beban beralih ke dan dari mode pencegahan bisa jauh lebih besar dari eksekusi metode spasial itu sendiri.
Pemecahan Masalah
Perbaikan ini memperkenalkan bendera pelacakan 6531 untuk mengindikasikan ke lapisan hosting SQLOS bahwa tipe data spasial harus menghindari proteksi pencegahan. Hal ini dapat mengurangi konsumsi CPU dan menyempurnakan keseluruhan kinerja untuk aktivitas spasial. Hanya gunakan bendera pelacakan ini jika individu, invokasi metode spasial (per baris dan kolom) memakan waktu kurang dari ~ 4dtk. Invokasi yang lebih lama tanpa proteksi pencegahan bisa mengakibatkan masalah konkurensi Penjadwal dan pesan hukuman sqlclr dicatat pada log kesalahan. Masalah ini pertama kali diperbaiki dalam pembaruan kumulatif SQL Server berikut ini.
Pembaruan kumulatif 4 untuk SQL Server 2012 SP2 /en-us/help/3007556
Pembaruan kumulatif 5 untuk SQL Server 2014 /en-us/help/3011055
Pembaruan kumulatif 13 untuk SQL Server 2012 SP1 /en-us/help/3002044
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:
Status
Microsoft telah mengonfirmasi bahwa ini adalah masalah pada produk Microsoft yang tercantum di bagian "Berlaku untuk".