Applies ToSQL Server 2012 Service Pack 3 SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

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:

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.

Perlu bantuan lainnya?

Ingin opsi lainnya?

Jelajahi manfaat langganan, telusuri kursus pelatihan, pelajari cara mengamankan perangkat Anda, dan banyak lagi.

Komunitas membantu Anda bertanya dan menjawab pertanyaan, memberikan umpan balik, dan mendengar dari para ahli yang memiliki pengetahuan yang luas.