Gejala
Misalnya Anda membuat prosedur yang disimpan yang menggunakan kursor pada variabel tabel di Microsoft SQL Server 2012 atau SQL Server 2014. Selain itu, prosedur tersimpan memperbarui tabel dengan menggunakan tempat saat ini dari pernyataan bersama-sama dengan kursor. Misalnya, prosedur tersimpan Anda akan menyerupai yang berikut ini:
CREATE PROCEDURE dbo.usp_TestSP AS BEGIN DECLARE @TableVar TABLE (SomeInt INT NULL) INSERT @TableVar VALUES (NULL) DECLARE @curInt INT, @newInt INT SET @newInt = 1 DECLARE ccc CURSOR LOCAL FOR SELECT SomeInt FROM @TableVar WHERE SomeInt IS NULL OPEN ccc FETCH NEXT FROM ccc INTO @curInt UPDATE @TableVar SET SomeInt = @newInt WHERE CURRENT OF cccCLOSE ccc SELECT * FROM @TableVar END
Ketika Anda menjalankan prosedur yang disimpan dengan menggunakan prosedur sp_refreshsqlmodule disimpan sistem, pelanggaran akses mungkin terjadi, dan Anda mungkin menerima pesan kesalahan yang menyerupai yang berikut ini:
MSG 596, tingkat 21, negara bagian 1Cannot melanjutkan eksekusi karena sesi dalam status Kill. MSG 0, tingkat 20, status 0A kesalahan parah terjadi pada perintah saat ini. Hasilnya, jika ada, harus dibuang.
Dalam situasi ini, kesalahan yang menyerupai berikut ini juga ditulis ke log kesalahan SQL Server:
tanggal time. 730 spid51 SqlDumpExceptionHandler: 51 proses yang dihasilkan pengecualian fatal c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.date time.730 spid51 * *******************************************************************************date time.730 spid51 *date time.730 spid51 * BEGIN STACK DUMP:date time.730 spid51 * date time spid 51date time.730 spid51 *date time.730 spid51 *date time.730 spid51 * Exception Address = 00007FFC270236D5 Module(sqllang+00000000005036D5)date time.730 spid51 * Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATIONdate time.730 spid51 * Access Violation occurred reading address 0000006F00620074date time.730 spid51 * Input Buffer 136 bytes -date time.730 spid51 * EXECUTE sp_refreshsqlmodule N'[dbo]. [usp_TestSP] ' tanggal waktu. 730 spid51 * tanggal waktu. 730 spid51 *
Pemecahan Masalah
Informasi pembaruan kumulatif
Masalah ini telah diperbaiki dalam pembaruan berikut:
-
Pembaruan kumulatif 13 untuk SQL Server 2014
-
Pembaruan kumulatif 6 untuk SQL Server 2014 Paket Layanan 1 (SP1)
-
Pembaruan kumulatif 2 untuk SQL Server 2012 Service Pack 3 (SP3)
-
11 pembaruan kumulatif untuk SQL Server 2012 Paket Layanan 2 (SP2)
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".
Referensi
Pelajari tentang terminologi yang digunakan Microsoft untuk menjelaskan pembaruan perangkat lunak.