Корпорация Майкрософт распространяет исправления Microsoft SQL Server 2005 или Microsoft SQL Server 2008 как один файл для загрузки. Поскольку исправления являются кумулятивными, каждый новый выпуск содержит все исправления и исправления для системы безопасности, которые были включены в пакет исправлений для Microsoft SQL Server 2005 или Microsoft SQL Server 2008.
Проблемы
Рассмотрим следующий сценарий.
-
Вы установили экземпляр Microsoft SQL Server 2005 или SQL 2008 на компьютере.
-
Вы создаете секционированную таблицу, содержащую Невыровненный некластеризованный индекс.
-
Вы запускаете инструкцию ALTER PARTITION FUNCTION для разделения и объединения диапазонов секций для секционированной таблицы.
В этом случае периодически появляется следующее сообщение об ошибке:
Сообщение 2601, уровень 14, состояние 1, строка 1Cannot вставить повторяющуюся строку ключа в объект <objectname> с уникальным индексом <uniqueindexname>.
Причина
Эта проблема возникает из-за того, что при разделении диапазона разделов ошибка запускается оптимизатором запросов. Когда план времени выполнения удаляет и вставляет строки из диапазона разделов в новый диапазон, возникает нарушение уникальности ключа.
Решение
Сведения о накопительном пакете обновления
SQL Server 2005 с пакетом обновления 3
Исправление для этой проблемы впервые выпущено в накопительном обновлении 15 для SQL Server 2005 с пакетом обновления 3. Чтобы получить дополнительные сведения об этом накопительном пакете обновления, щелкните следующий номер статьи базы знаний Майкрософт:
2507766 Накопительный пакет обновления 15 для SQL Server 2005 с пакетом обновления 3 (SP3)Примечание. Так как сборки являются кумулятивными, каждый новый выпуск исправлений содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2005. Корпорация Microsoft рекомендует установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
960598 Сборки SQL Server 2005, выпущенные после выпуска пакета обновления 3 (SP3) для SQL Server 2005 Исправления Microsoft SQL Server 2005 создаются для конкретных пакетов обновления для SQL Server. Вы должны применить исправление SQL Server 2005 с пакетом обновления 3 (SP3) к установке SQL Server 2005 с пакетом обновления 3 (SP3). По умолчанию любое исправление, предоставленное в пакете обновления SQL Server, входит в следующий пакет обновления для SQL Server.
SQL Server 2005 с пакетом обновления 4
Исправление для этой проблемы впервые выпущено в накопительном обновлении 2 для SQL Server 2005 с пакетом обновления 4 (SP4). Чтобы получить дополнительные сведения об этом накопительном пакете обновления, щелкните следующий номер статьи базы знаний Майкрософт:
2489409 Накопительный пакет обновления 2 для SQL Server 2005 с пакетом обновления 4Примечание. Так как сборки являются кумулятивными, каждый новый выпуск исправлений содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2005. Корпорация Microsoft рекомендует установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
2485757 Сборки SQL Server 2005, выпущенные после выпуска пакета обновления 4 (SP4) для SQL Server 2005 Исправления Microsoft SQL Server 2005 создаются для конкретных пакетов обновления для SQL Server. Для установки пакета обновления 4 (SP4) для SQL Server 2005 необходимо установить исправление для SQL Server 2005 с пакетом обновления 4 (SP4). По умолчанию любое исправление, предоставленное в пакете обновления SQL Server, входит в следующий пакет обновления для SQL Server.
SQL Server 2008 с пакетом обновления 1
Исправление для этой проблемы впервые выпущено в накопительном обновлении 13 для SQL Server 2008 с пакетом обновления 1 (SP1). Чтобы получить дополнительные сведения об этом накопительном пакете обновления, щелкните следующий номер статьи базы знаний Майкрософт:
2497673 Накопительный пакет обновления 13 для SQL Server 2008 с пакетом обновления 1 (SP1)Примечание. Так как сборки являются кумулятивными, каждый новый выпуск исправлений содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2008. Корпорация Microsoft рекомендует установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
970365 Сборки SQL Server 2008, выпущенные после выпуска пакета обновления 1 (SP1) для SQL Server 2008 Исправления Microsoft SQL Server 2008 создаются для конкретных пакетов обновления для SQL Server. Вы должны применить исправление для SQL Server 2008 с пакетом обновления 1 (SP1) к установке SQL Server 2008 с пакетом обновления 1. По умолчанию любое исправление, предоставленное в пакете обновления SQL Server, входит в следующий пакет обновления для SQL Server.
SQL Server 2008 с пакетом обновления 2
Исправление для этой проблемы впервые выпущено в накопительном обновлении 3 для SQL Server 2008 с пакетом обновления 2. Чтобы получить дополнительные сведения об этом накопительном пакете обновления, щелкните следующий номер статьи базы знаний Майкрософт:
2498535 Накопительный пакет обновления 3 для SQL Server 2008 с пакетом обновления 2 (SP2)Примечание. Так как сборки являются кумулятивными, каждый новый выпуск исправлений содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2008. Корпорация Microsoft рекомендует установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
2402659 Сборки SQL Server 2008, выпущенные после выпуска пакета обновления 2 (SP2) для SQL Server 2008 Исправления Microsoft SQL Server 2008 создаются для конкретных пакетов обновления для SQL Server. Необходимо применить исправление для SQL Server 2008 с пакетом обновления 2 (SP2) к установке SQL Server 2008 с пакетом обновления 2. По умолчанию любое исправление, предоставленное в пакете обновления SQL Server, входит в следующий пакет обновления для SQL Server.
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".
Ссылки
Дополнительные сведения о инструкции Transact-SQL ALTER PARTITION FUNCTION можно найти на веб-сайте MSDN по следующему адресу:
Общие сведения о инструкции Transact-SQL ALTER PARTITION FUNCTIONДополнительные сведения о специальных рекомендациях для секционированных индексов можно найти на веб-сайте MSDN по следующему адресу:
Особые рекомендации для секционированных индексовЧтобы получить дополнительные сведения о модели добавочного обслуживания для SQL Server, щелкните следующий номер статьи базы знаний Майкрософт:
935897 Модель обслуживания изменений, используемая рабочей группой SQL Server, предоставляет модель ISM для распространения исправлений обнаруженных проблемЧтобы получить дополнительные сведения о схеме присвоения имен обновлениям SQL Server, щелкните следующий номер статьи базы знаний Майкрософт:
822499Новая схема присвоения имен пакетам обновлений программного обеспечения Microsoft SQL ServerЧтобы получить дополнительные сведения о терминологии обновления программного обеспечения, щелкните следующий номер статьи базы знаний Майкрософт:
824684 Стандартные термины, используемые при описании обновлений программных продуктов Майкрософт