KB2530913-FIX: "Error: 17066" появляется при создании секционированного некластеризованного индекса в SQL Server 2008 R2, если используется план параллельного выполнения.

Корпорация Майкрософт распространяет исправления Microsoft SQL Server 2008 R2 как один файл для загрузки. Поскольку исправления являются кумулятивными, каждый новый выпуск содержит все исправления и исправления для системы безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2008 R2.

Проблемы

При использовании параллельного плана выполнения для создания секционированного некластеризованного индекса в Microsoft SQL Server 2008 R2 возникает проблема, которая имеет указанные ниже признаки.

  • В журнале ошибок сервера SQL Server регистрируются следующие сообщения об ошибках.

    <Дата время> SPID<n> ошибка: 17066, уровень серьезности: 16, состояние: 1. <Дата время> SPID<n> SQL Server assertion: file: <sobuild. c>, Line = 3392 Failed assertion = ' CompareRow (rightPageRow, * m_pSEBindings, keyCnt, * pHobtAccess и PAGE_LEAF_LEVEL) ". Эта ошибка может быть связана со временем. Если ошибка не исчезнет после повторного выполнения инструкции, используйте DBCC CHECKDB, чтобы проверить базу данных на наличие структурной целостности, или перезапустите сервер, чтобы убедиться в том, что структуры данных в памяти не повреждены.

  • План параллельного выполнения не создает индекс.

  • Клиентское приложение, которое отправляет инструкцию CREATE INDEX , может получить исключение SQL Server.

  • Соединение между клиентом и сервером закрыто.

Примечание.

  • План параллельного выполнения может использоваться в следующих ситуациях:

    • Параметру подсказка для запроса MAXDOP задается значение больше 1.

    • В параметрах " Максимальная степень параллелизма " можно указать значение 0 или больше 1 в конфигурации сервера.

  • Эта проблема не возникает в Microsoft SQL Server 2008.

Причина

Эта проблема возникает из-за того, что два или несколько параллельных потоков SQL Server выполняют создание индексов для диапазонов секций с перекрытием.

Решение

Сведения о накопительном пакете обновления

SQL Server 2008 R2 с пакетом обновления 1 (SP1)

Исправление для этой проблемы впервые выпущено в накопительном обновлении 1 для SQL Server 2008 R2 с пакетом обновления 1 (SP1). Для получения дополнительных сведений о том, как получить этот накопительный пакет обновления, щелкните следующий номер статьи базы знаний Майкрософт:

2544793 Накопительный пакет обновления 1 для SQL Server 2008 R2 с пакетом обновления 1 (SP1)Примечание. Поскольку сборки являются кумулятивными, каждый новый выпуск исправлений содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2008 R2. Рекомендуется установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:

2567616 Сборки SQL Server 2008 R2, выпущенные после выпуска SQL Server 2008 R2 с пакетом обновления 1 (SP1)

SQL Server 2008 R2

Исправление для этой проблемы впервые выпущено в накопительном обновлении 8. Для получения дополнительных сведений о том, как получить этот накопительный пакет обновления для SQL Server 2008 R2, щелкните следующий номер статьи базы знаний Майкрософт:

2534352 Накопительный пакет обновления 8 для SQL Server 2008 R2 Примечание. Поскольку сборки являются кумулятивными, каждый новый выпуск исправлений содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2008 R2. Рекомендуется установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:

981356 Сборки SQL Server 2008 R2, выпущенные после выпуска SQL Server 2008 R2

Обходное решение

Чтобы обойти эту проблему, воспользуйтесь одним из описанных ниже методов.

  • Задайте для параметра « Максимальная степень параллелизма » значение 1 в конфигурации сервера перед созданием индекса.

  • Установите для параметра подсказка MAXDOP запроса значение 1 при создании индекса.

Статус

Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".

Дополнительная информация

Дополнительные сведения о инструкции CREATE INDEX можно найти на веб-сайте MSDN по следующему адресу:

Общие сведения о инструкции CREATE INDEXДополнительные сведения о инструкции CREATE PARTITION FUNCTION можно найти на веб-сайте MSDN по следующему адресу:

Общие сведения о инструкции CREATE PARTITION FUNCTION

Нужна дополнительная помощь?

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединение к программе предварительной оценки Майкрософт

Были ли сведения полезными?

Спасибо за ваш отзыв!

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×