ВИПРАВЛЕННЯ: порушення прав доступу під Вільний час виконання збереженої процедури, який використовує курсор на змінну таблицю в SQL Server

ВАЖЛИВО! Ця стаття перекладена засобами машинного перекладу Microsoft. Статтю можна редагувати в середовищі Community Translation Framework (CTF). Щоб якомога швидше перекласти всі статті у своїй базі знань різними мовами, компанія Microsoft не лише звертається до професійних перекладачів, але й вдається до машинного перекладу, який потім редагується спільнотою. Такі статті можуть містити лексичні, синтаксичні та граматичні помилки. Microsoft не несе відповідальності за будь-які неточності, помилки або збитки, до яких може призвести неправильний переклад статей або їх використання. Докладніше про CTF див. на веб-сторінці http://support.microsoft.com/gp/machine-translation-corrections/uk-ua.

Клацніть тут, щоб переглянути цю статтю англійською мовою: 3138930
Ознаки
Припустімо, що створюється збережених процедур, які використовує курсор на змінну таблиці 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 системи збережена процедура, порушення прав доступу, може виникнути, і може з'явитися протокол IMAP, подібні до таких:
MSG 596, рівень 21, стан 1Cannot продовжити виконання через те, що сеанс, що перебуває у стані, анулювання. Повід. 0, рівень 20, стан 0A сталася критична помилка, поточної команди. Результати, якщо потрібно буде скасовано.

У цьому випадку помилок, які подібні до наведених нижче також написані журнали помилок SQL Server:
Дата time.730 spid51 SqlDumpExceptionHandler: 51-процес, створений невиправну c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server, є завершення цього процесу.
date time.730 spid51 * *******************************************************************************
Дата time.730 spid51 *
Дата time.730 spid51 * почати ДАМП СТЕКА:
Дата time.730 spid51 * дата, Вільний час, spid 51
Дата time.730 spid51 *
Дата time.730 spid51 *
Дата time.730 spid51 * виняток адреса = 00007FFC270236D5 Module(sqllang+00000000005036D5)
Дата time.730 spid51 * код винятку = c0000005 EXCEPTION_ACCESS_VIOLATION
Дата time.730 spid51 * порушення прав доступу, сталася читання адресу 0000006F00620074
Дата time.730 spid51 * вводу буфер 136 байт -
Дата time.730 spid51 * sp_refreshsqlmodule для виконання N'[dbo]. [usp_TestSP] "
Дата time.730 spid51 *
Дата time.730 spid51 *

Розв'язанн

Відомості про сукупний пакет оновлень

Цю проблему усунуто в таких оновлень:
Порада:, Інсталюйте останній сукупний пакет оновлень для SQL Server

Кожний новий сукупний пакет оновлень, для SQL Server, містить усі поточні виправлення, і усі виправлення безпеки, які входять до складу попередній сукупний пакет оновлень. Перевірте останні накопичувальне оновлення для SQL Server:
Стан
корпорація Майкрософт підтвердила існування цієї неполадки у продуктах Майкрософт, перелічених у розділі "Застосовується до".
Посилання
Докладніше про у Термінологія Microsoft, що використовується для опису оновлень програмного забезпечення.

Попередження. Цю статтю переведено автоматично

Thuộc tính

ID Bài viết: 3138930 - Xem lại Lần cuối: 05/31/2016 08:56:00 - Bản sửa đổi: 3.0

Microsoft SQL Server 2012 Service Pack 3, Microsoft SQL Server 2012 Service Pack 2, Microsoft SQL Server 2014 Service Pack 1, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Standard

  • kbqfe kbfix kbexpertiseinter kbsurveynew kbmt KB3138930 KbMtuk
Phản hồi