Ознаки
Розглянемо такий сценарій:
-
У вас є база даних, яка використовує BULK_LOGGED або просту модель відновлення в Microsoft SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 або SQL Server 2014.
-
Ви вмикаєте настройку XACT_ABORT перемикача.
-
Ви намагаєтеся виконати кілька заяв ГРУПОВОГО вставлення в один розподілену транзакцію.
У цьому сценарії оператор ГРУПОВОГО вставлення може не вдатися, а з'явиться таке повідомлення про помилку:
Розташування: PAGEREF. cpp: 913Expression: IS_OFF (BUF_MINLOGGED, m_buf->bstat) | | pageModifyType! = PageModifyType_Contents | | GetPagePtr ()->IsTextPage () SPID: 56Process ID: 2136Msg 3624, рівень 20, стан 1, система, що не працює на 7, перевірка твердження не вдалася. Перевірте журнал помилок SQL Server, щоб отримати докладні відомості. Зазвичай Помилка твердження спричинена пошкодженням програмного забезпечення або даними про пошкодження даних. Щоб перевірити наявність корупції в базі даних, подумайте про те, що ви використовуєте DBCC CHECDB. Якщо ви домовилися про надсилання сміттєзвалищ до корпорації Майкрософт під час інсталяції, міні-дамп буде надіслано до корпорації Майкрософт. Оновлення може бути доступним від корпорації Майкрософт в останньому пакеті оновлень або в QFE від технічної підтримки. MSG 0, рівень 20, стан 0, рядок 0, сталася серйозна помилка в поточній команді. Результати, якщо такі є, повинні бути відкинуті.
Крім того, файл міні-дампу можна створити в папці журналу SQL Server. Примітка. Ця проблема зазвичай виникає, коли використовується інтеграція служб інтеграції SQL Server (SSIS). Наприклад, координатор розподілених транзакцій Microsoft (MS DTC) бере участь в тому, щоб почати розподілятися транзакції разом із набором XACT_ABORT , якщо для властивості "пакет TransactionOption " потрібно встановити значення " обов'язковий".
Причина
Ця проблема виникає через помилку в SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 або SQL Server 2014.
Спосіб вирішення
Ця проблема була спочатку зафіксоване в цьому сукупному оновленні сервера SQL Server.
Сукупне оновлення 1 для SQL Server 2014 /en-us/help/2931693
Сукупне оновлення 8 для SQL Server 2012 SP1 /en-us/help/2917531
Сукупне оновлення 10 для SQL Server 2008 R2 SP2 /en-us/help/2908087
Сукупне оновлення 10 для SQL Server 2008 SP1 /en-us/help/2279604
Сукупне оновлення 1 для SQL Server 2008 з пакетом оновлень 2 (SP2) /en-us/help/2289254
Сукупне оновлення 5 для SQL Server 2008 R2 /en-us/help/2438347
Кожне нове Сукупне оновлення для SQL Server містить усі поточні виправлення та всі виправлення системи безпеки, які були включені до попереднього сукупного оновлення. Ознайомтеся з найновішими сукупними оновленнями для сервера SQL Server:
Інші способи вирішення
Щоб вирішити цю проблему, настройте базу даних на повну модель відновлення.
Стан
Корпорація Майкрософт підтвердила, що це проблема в продуктах Microsoft, перелічених у розділі "застосовується до".
Посилання
Щоб отримати докладніші відомості про настройку настроювання XACT_ABORT , перейдіть на веб-сайт MSDN для розробників (Microsoft):
Загальні відомості про параметр "SET XACT_ABORT"Щоб отримати докладні відомості про операції, які не ввійшли в службу, перейдіть на цей веб-сайт MSDN:
Загальні відомості про операції, які мінімально реєструютьсяЩоб отримати докладні відомості про те, як зберегти цілісність даних за допомогою транзакцій, перейдіть на такий веб-сайт MSDN:
Загальні відомості про те, як зберегти цілісність даних за допомогою транзакційЩоб отримати докладні відомості про модель інкрементного обслуговування для SQL Server, клацніть цей номер статті, щоб переглянути статтю в базі знань Microsoft Knowledge Base:
935897 Модель інкрементного обслуговування доступна з команди SQL Server, щоб доставити виправлення для повідомляли про проблемиЩоб отримати докладні відомості про схему іменування для оновлень SQL Server, клацніть цей номер статті, щоб переглянути статтю в базі знань Microsoft Knowledge Base:
822499Нова схема іменування для пакетів оновлень програмного забезпечення Microsoft SQL ServerЩоб отримати докладніші відомості про термінологію оновлення програмного забезпечення, клацніть номер статті в базі знань Microsoft Knowledge Base:
824684 Опис стандартної термінології, яка використовується для опису оновлень програмного забезпечення Microsoft