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)

Simptomi

Pretpostavimo da kreirate uskladištenu proceduru koja koristi kursor na promenljivoj tabele u sistemu Microsoft SQL Server 2012 ili SQL Server 2014. Pored toga, uskladištena procedura ažurira tabelu pomoću izvoda WHERE CURRENT OF zajedno sa kursorom. Na primer, uskladištena procedura može da liči na sledeću:

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 

Kada uskladištite uskladištenu proceduru pomoću uskladištene procedure sp_refreshsqlmodule sistema, može doći do kršenja prava pristupa i možete dobiti poruke o greškama koje su slične sledećim:

Msg 596, nivo 21, Država 1Cannot nastavljaju pogubljenje jer je sednica u stanju ubijanja. Msg 0, Nivo 20, ozbiljna greška stanja 0A pojavila se na trenutnoj komandi. Rezultati, ako ih ima, treba da budu odbačeni.

U ovoj situaciji, greške koje su slične sledećim zapisuje se i u evidencije grešaka sistema SQL Server:

date time.730 spid51 SqlDumpExceptionHandler: Process 51 generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server prekida ovaj proces.Datum.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+000000005036D5)date time.730 spid51 * Exception Code = c00000005 EXCEPTION_ACCESS_VIOLATIONdate time.730 spid51 * Povreda pristupa se dogodila čitanje adrese 0000006F00620074date time.730 spid51 * Input Buffer 136 bytes -date time.730 spid51 * EXECUTE sp_refreshsqlmodule N'[dbo]. [usp_TestSP]'date time.730 spid51 * date time.730 spid51 *

Rešenje

Kumulativne informacije o ažuriranju

Ovaj problem je rešen u sledećim ispravkama:

Svaka nova kumulativna ispravka za SQL Server sadrži sve hitne ispravke i sve bezbednosne ispravke koje su bile uključene u prethodnu kumulativnu ispravku. Pogledajte najnovije kumulativne ispravke za SQL Server:

Status

Microsoft je potvrdio da je ovo problem u Microsoft proizvodima koji su navedeni u odeljku "Odnosi se na".

Reference

Saznajte više o terminologiji koju Microsoft koristi za opisivanje softverskih ispravki.

Da li vam je potrebna dodatna pomoć?

Želite još opcija?

Istražite pogodnosti pretplate, pregledajte kurseve za obuku, saznajte kako da obezbedite uređaj i još mnogo toga.

Zajednice vam pomažu da postavljate pitanja i odgovarate na pitanja, dajete povratne informacije i čujete mišljenje od stručnjaka sa bogatim znanjem.