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)

Ознаки

Припустимо, що ви створюєте збережену процедуру, яка використовує курсор на змінну таблиці в Microsoft SQL Server 2012 або SQL Server 2014. Крім того, Збережена процедура оновлює таблицю за допомогою елемента, у якому поточна інструкція разом з курсором. Наприклад, Збережена процедура може нагадувати наступне:

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 

Під час виконання збереженої процедури за допомогою збереженої процедури sp_refreshsqlmodule система може виникнути порушення прав доступу, і ви можете отримати повідомлення про помилку, які нагадують такі дії:

MSG 596, рівень 21, стан 1 не може продовжити виконання, оскільки сеанс перебуває в стані "вбити". MSG 0, рівень 20, стан 0A сталася серйозна помилка в поточній команді. Результати, якщо такі є, повинні бути відкинуті.

У цій ситуації також записано помилки, які нагадують таке повідомлення про помилки SQL Server:

Дата й час. 730 spid51 SqlDumpExceptionHandler: процес 51 згенерований фатальний виняток 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] ' дата дати. 730 spid51 * дата часу. 730 spid51 *

Спосіб вирішення

Відомості про Сукупне оновлення

Цю проблему вирішено в таких оновленні:

Кожне нове Сукупне оновлення для SQL Server містить усі поточні виправлення та всі виправлення системи безпеки, які були включені до попереднього сукупного оновлення. Ознайомтеся з найновішими сукупними оновленнями для сервера SQL Server:

Стан

Корпорація Майкрософт підтвердила, що це проблема в продуктах Microsoft, перелічених у розділі "застосовується до".

Посилання

Відомості про термінологію , яку корпорація Майкрософт використовує для опису оновлень програмного забезпечення.

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.

Спільноти допомагають ставити запитання й відповідати на них, надавати відгуки та дізнаватися думки висококваліфікованих експертів.