Gejala
Misalnya Anda menggunakan pengandar ODBC sqlncli11. dll untuk mengakses Microsoft SQL Server 2012 atau SQL Server 2014 dalam aplikasi. Saat Anda menggunakan kursor server dan fungsi Sqlfetch/ SQLGetData untuk mengakses beberapa data biner besar (Blob) objek di SQL Server, masalah kinerja terjadi terutama untuk tipe data besar seperti varbinary (Max) atau varchar (Max).
Penyebab
Ini adalah masalah desain untuk implementasi fungsi sqlfetch/ SQLGetData di driver SQL Server 2012 ODBC. Saat kueri menggunakan kursor server apa pun, driver ODBC memanggil sp_cursorfetch selama penerapan sqlfetch , dan server mengirimkan semua Blob ke klien. Lalu, saat SQLGetData dieksekusi, SP_CURSOR membawa semua Blob lagi. Hal ini sangat mempengaruhi kinerja untuk tipe data besar seperti varbinary (Max) atau varchar (Max).
Pemecahan Masalah
Informasi pembaruan kumulatif
Implementasi yang baru memanggil sp_cursoroption untuk mendapatkan TEXTPTR_ONLY sebelum sp_cursorfetch, lalu memanggil sp_cursoroption untuk mengembalikannya ke textdata sebelum sp_cursor. Hal ini dapat meningkatkan kinerja. 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:
Status
Microsoft telah mengonfirmasi bahwa ini adalah masalah pada produk Microsoft yang tercantum di bagian "Berlaku untuk".