Gejala
Kesalahan pernyataan mungkin terjadi ketika Microsoft SQL Server berulang kali mengeksekusi prosedur yang disimpan yang melakukan hal berikut:
-
Mengambil objek yang besar, seperti varchar (Max) atau varbinary (Max), sebagai argumen, dan
-
Membuat tabel sementara yang dicakup untuk pelaksanaan prosedur, dan
-
Menggunakan argumen objek besar dalam tabel sementara.
Anda mungkin menemukan kesalahan penegasan yang menyerupai berikut dalam log kesalahan SQL Server:
GalatSPID tanggal waktu: 17065, keparahan: 16, status: 1.
Tanggal/waktu SPID pernyataan SQL Server: file: filePath \filename, Line = Linenumber failed = ' ffalse ' mencoba mengakses Blob handle kedaluwarsa (1). Kesalahan ini mungkin terkait dengan waktu. Jika kesalahan tetap ada setelah menjalankan kembali pernyataan, gunakan DBCC CHECKDB untuk memeriksa integritas struktural database, atau mulai ulang server untuk memastikan bahwa struktur data dalam memori tidak rusak.
Galat SPID tanggal waktu : 3624, kerumitan: 20, status: 1.
Tanggal/waktu SPID sebuah pemeriksa pernyataan sistem telah gagal. Periksa log kesalahan SQL Server untuk detailnya. Biasanya, kegagalan pernyataan disebabkan oleh bug perangkat lunak atau kerusakan data. Untuk memeriksa kerusakan database, pertimbangkan untuk menjalankan DBCC CHECKDB. Jika Anda setuju untuk mengirim timbunan ke Microsoft selama penyetelan, dump mini akan dikirim ke Microsoft. Pembaruan mungkin tersedia dari Microsoft dalam paket layanan terbaru atau dalam hotfix dari dukungan teknis.
Penyebab
SQL Server memiliki logika internal untuk menonaktifkan caching kueri yang mereferensikan objek besar sehingga eksekusi berikutnya tidak mereferensikan LOBs tersebut (yang dibuat selama menjalankan sebelumnya dan karenanya tidak valid untuk menjalankan selanjutnya). Logika yang tidak menangani kapitalisasi nama ditunda (DNR) pada tabel sementara yang menyebabkan rencana tersebut ditembolok. Tabel sementara scophe mahal untuk dibuat, dan SQL Server menyimpannya untuk digunakan kembali dalam eksekusi berikutnya. Hal ini mencegah penyusunan kembali kueri tersebut karena perubahan skema.
Pelajari selengkapnya tentang resolusi nama tangguhan.
Pemecahan Masalah
Masalah ini telah diperbaiki dalam pembaruan kumulatif berikut ini untuk SQL Server:
Pembaruan kumulatif 8 untuk SQL Server 2016 SP1
Pembaruan kumulatif 4 untuk SQL Server 2017
Pembaruan kumulatif 10 untuk SQL Server 2014 Service Pack 2
Setiap pembaruan kumulatif baru untuk SQL Server berisi semua perbaikan hotfix dan keamanan yang ada di Build sebelumnya. Lihat pembaruan kumulatif terbaru untuk SQL Server:
Pembaruan kumulatif terbaru untuk SQL Server 2016
Pembaruan kumulatif terbaru untuk SQL Server 2017
pembaruan kumulatif terbaru untuk SQL Server 2014
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.