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