Корпорація Майкрософт поширює Microsoft SQL Server 2005, Microsoft SQL Server 2008 і Microsoft SQL Server 2008 R2 виправляє один файл для завантаження. Оскільки виправлення сукупно, у кожному новому випуску містяться всі виправлення та всі виправлення системи безпеки, які були включені до попередньої версії SQL Server 2005, SQL Server 2008 або SQL Server 2008 R2 Release.
Ознаки
Розглянемо такий сценарій:
-
Ви вмикаєте параметр ALLOW_SNAPSHOT_ISOLATION на Microsoft sql Server 2005, Microsoft sql Server 2008 або Microsoft sql Server 2008 R2 бази даних.
-
Ви виконуєте операцію керування версіями в таблиці. Наприклад, ви оновлюєте таблицю.
-
Ви вимкнете рівень ізоляції знімка в базі даних.
-
Ви оновлюєте стовпець ключа індексу в записі, який містить відомості про керування версіями.
-
Ви перебудовувати онлайновий індекс у таблиці.
У цьому сценарії виникає помилка твердження, і ви отримаєте такі повідомлення в журналі помилок SQL Server:
<дата><час> <SPID> * початок стеку стека: <дата><час> <SPID> * <дата><час> <SPID> <дата><час> <spid> * <дата><час> <SPID> * розташування: AppendOnlyVerStoreMgr. cpp: 731> <0 дата><час> <spid> * вираз: 0 > <6 дата><час> <SPID> * SPID: <SPID><дата><час> <SPID> * процес код: 6328> <0 дата><час> <SPID> * Опис: не вдалося знайти запис версії та сторінка не виділено. Стан = 3<дата><час> <SPID> * <дата><час> <SPID> * вхід буфера 170 БАЙТ-<дата><час> <SPID> * Alter index <таблиця ім'я> на <index> відновити з (о> <2 дата><час> <SPID> * nline = on)
Причина
Ця проблема виникає через те, що відомості про керування для нового запису ключа індексу копіюються зі старого запису ключа індексу. Тому під час перебудову індексу з'являється повідомлення про помилку.
Спосіб вирішення
Відомості про Сукупне оновлення
SQL Server 2008 R2
Виправлення для цієї проблеми уперше випущено в сукупному оновленні 5. Щоб отримати докладні відомості про отримання цього сукупного оновлення пакета для SQL Server 2008 R2, клацніть цей номер статті, щоб переглянути статтю в базі знань Microsoft Knowledge Base:
2438347 Сукупний пакет оновлень пакета 5 для SQL Server 2008 R2 Примітка. Оскільки будує сукупну версію, кожен новий випуск Fix містить всі виправлення та виправлення безпеки, які були включені до попередньої версії SQL Server 2008 R2 Fix Release. Радимо застосувати найновішу версію виправлення, що містить це виправлення. Щоб отримати докладні відомості, клацніть номер цієї статті бази знань Microsoft:
981356 Випущено SQL Server 2008 R2, випущеній після випуску SQL Server 2008 R2
SQL Server 2005 із пакетом оновлень 4
Виправлення для цієї проблеми уперше випущено в сукупному оновленні 1 для SQL Server 2005 Service Pack 4. Щоб отримати докладні відомості про цей пакет накопичувальне оновлення, клацніть номер статті в базі знань Microsoft Knowledge Base:
2464079 Сукупний пакет оновлень пакета 1 для SQL Server 2005 Service Pack 4Примітка. Оскільки будує сукупну версію, кожен новий випуск Fix містить всі виправлення та виправлення безпеки, які були включені до попередньої версії SQL Server 2005 Fix Release. Корпорація Майкрософт рекомендує застосувати найновішу версію виправлення, що містить це виправлення. Щоб отримати докладні відомості, клацніть номер цієї статті бази знань Microsoft:
2485757 Випущено SQL Server 2005, який було випущено після випуску служби SQL Server 2005 Service Pack 4 Поточні виправлення Microsoft SQL Server 2005 створюються для певних пакетів оновлень для сервера SQL Server. Щоб інсталювати пакет оновлень 4 для SQL Server 2005, потрібно додати пакет оновлень 4 для SQL Server 2005. За замовчуванням будь-яке термінове виправлення, яке надається в пакеті оновлень SQL Server, включено до наступного пакета оновлень служби SQL Server.
SQL Server 2005 SP3
Виправлення для цієї проблеми уперше випущено в сукупному оновленні 12. Щоб отримати докладні відомості про отримання цього сукупного оновлення пакета для SQL Server 2005 SP3, клацніть цей номер статті, щоб переглянути статтю в базі знань Microsoft Knowledge Base:
2345449 Сукупний пакет оновлень пакета 12 для SQL Server 2005 Service Pack 3 Примітка. Оскільки будує сукупну версію, кожен новий випуск Fix містить всі виправлення та виправлення безпеки, які були включені до попередньої версії SQL Server 2005 SP3 Fix Release. Радимо застосувати найновішу версію виправлення, що містить це виправлення. Щоб отримати докладні відомості, клацніть номер цієї статті бази знань Microsoft:
960598 Інстальовано пакет оновлення SQL Server 2005, який було випущено після випуску пакета оновлень 3 для SQL Server 2005
SQL Server 2008 із пакетом оновлень 1
Виправлення для цієї проблеми уперше випущено в сукупному оновленні 11 для SQL Server 2008 Service Pack 1. Щоб отримати докладні відомості про цей пакет накопичувальне оновлення, клацніть номер статті в базі знань Microsoft Knowledge Base:
2413738 Сукупний пакет оновлень пакета 11 для SQL Server 2008 Service Pack 1Примітка. Оскільки будує сукупну версію, кожен новий випуск Fix містить всі виправлення та виправлення безпеки, які були включені до попередньої версії SQL Server 2008 Fix Release. Корпорація Майкрософт рекомендує застосувати найновішу версію виправлення, що містить це виправлення. Щоб отримати докладні відомості, клацніть номер цієї статті бази знань Microsoft:
970365 Випущено SQL Server 2008, що випущено після випуску пакета оновлень 1 (SP1) для SQL Server 2008Поточні виправлення Microsoft SQL Server 2008 створюються для певних пакетів оновлень для сервера SQL Server. Щоб інсталювати пакет оновлень 1 (SP1) для SQL Server 2008, потрібно виконати термінове виправлення в SQL Server 2008 Service Pack 1. За замовчуванням будь-яке термінове виправлення, яке надається в пакеті оновлень SQL Server, включено до наступного пакета оновлень служби SQL Server.
SQL Server 2008 із пакетом оновлень 2
Виправлення для цієї проблеми уперше випущено в сукупному оновленні 2 для SQL Server 2008 Service Pack 2. Щоб отримати докладні відомості про цей пакет накопичувальне оновлення, клацніть номер статті в базі знань Microsoft Knowledge Base:
2467239 Сукупний пакет оновлень пакета 2 для SQL Server 2008 Service Pack 2Примітка. Оскільки будує сукупну версію, кожен новий випуск Fix містить всі виправлення та виправлення безпеки, які були включені до попередньої версії SQL Server 2008 Fix Release. Корпорація Майкрософт рекомендує застосувати найновішу версію виправлення, що містить це виправлення. Щоб отримати докладні відомості, клацніть номер цієї статті бази знань Microsoft:
2402659 Інстальовано пакет оновлення SQL Server 2008, який було випущено після випуску служби SQL Server 2008 Service Pack 2 Поточні виправлення Microsoft SQL Server 2008 створюються для певних пакетів оновлень для сервера SQL Server. Щоб інсталювати пакет оновлень 2 для SQL Server 2008, потрібно додати пакет оновлень 2 для SQL Server 2008. За замовчуванням будь-яке термінове виправлення, яке надається в пакеті оновлень SQL Server, включено до наступного пакета оновлень служби SQL Server.
Інші способи вирішення
Щоб вирішити цю проблему, перебудуйте індекс цієї бази даних, встановивши параметр Online , щоб Вимкнути його в запиті.
Стан
Корпорація Майкрософт підтвердила, що це проблема в продуктах Microsoft, перелічених у розділі "застосовується до".
Посилання
Щоб отримати докладніші відомості про операції з онлайновими індексами, перейдіть на веб-сайт Microsoft:
Загальні відомості про операції з індексами
Щоб отримати докладні відомості про відомості про операції з онлайновими індексами, перейдіть на веб-сайт Microsoft: