Корпорация Майкрософт распространяет исправления Microsoft SQL Server 2005 с пакетом обновления 3 (SP3), SQL Server 2005 с пакетом обновления 4 (SP4) и Microsoft SQL Server 2008 с пакетом обновления 1 (SP1) или SQL Server 2008 R2 в виде одного загружаемого файла. Поскольку исправления являются накопительными, каждый новый выпуск содержит все исправления и исправления для системы безопасности, которые были включены в предыдущий выпуск исправления SQL Server 2005 с пакетом обновления 3 (SP3), SQL Server 2005 с пакетом обновления 4 (SP4), SQL Server 2008 с пакетом обновления 1 (SP1) или SQL Server 2008 R2.
Проблема
Рассмотрим следующий сценарий.
- Вы создаете таблицу в SQL Server 2005 с пакетом обновления 3 (SP3), SQL Server 2005 с пакетом обновления 4 (SP4), в SQL Server 2008 с пакетом обновления 1 (SP1) или в SQL Server 2008 R2.
- Вы пытаетесь вставить несколько строк в таблицу. Эти строки содержат бизнес-данные.
- Возникает ошибка вставки, и бизнес-данные не вставляются. Например, таблица имеет ограничение первичного ключа, и вставка нарушает первичный ключ.
В этом случае размер таблицы все равно увеличивается.
Причина
Эта проблема возникает из-за того, что SQL Server не освобождает бизнес-страницы в системных транзакциях после получения сообщения об ошибке. Поэтому размер таблицы увеличивается.
Примечание. LOB-страницы выделяются в системных транзакциях из-за изменения структуры в SQL Server 2005 SP3, SQL Server 2005 SP4 и SQL Server 2008 SP1.
Решение
Сведения о накопительном пакете обновления
SQL Server 2005 с пакетом обновления 4 (SP4)
Исправление для этой проблемы впервые было выпущено в накопительном пакете обновления 1 для SQL Server 2005 с пакетом обновления 4 (SP4). Дополнительные сведения об этом накопительном пакете обновления см. в следующей статье базы знаний Майкрософт:
2464079 Накопительный пакет обновления 1 для SQL Server 2005 с пакетом обновления 4 (SP4) Так как сборки являются накопительными, каждый новый выпуск исправления содержит все исправления и исправления для системы безопасности, включенные в предыдущий выпуск исправления 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 2005 с пакетом обновления 3 (SP3)
Исправление для этой проблемы впервые выпущено в накопительном пакете обновления 12. Для получения дополнительной информации о том, как получить этот накопительный пакет обновления для SQL Server 2005 с пакетом обновления 3 (SP3), откройте статью со следующим номером в базе знаний Майкрософт:
2345449 Накопительный пакет обновления 12 для SQL Server 2005 с пакетом обновления 3 (SP3) Примечание Так как сборки являются накопительными, каждый новый выпуск исправлений содержит все исправления и исправления для системы безопасности, включенные в предыдущий выпуск исправления SQL Server 2005 с пакетом обновления 3 (SP3). Рекомендуется рассмотреть возможность применения последнего выпуска исправления, содержащего это исправление. Для просмотра статьи в базе знаний Майкрософт щелкните следующий номер статьи:
960598 Сборки SQL Server 2005 г., выпущенные после выпуска SQL Server 2005 с пакетом обновления 3 (SP3)
SQL Server 2008 с пакетом обновления 1 (SP1)
Исправление для этой проблемы было впервые выпущено в накопительном пакете обновления 11 для SQL Server 2008 с пакетом обновления 1. Дополнительные сведения об этом накопительном пакете обновления см. в следующей статье базы знаний Майкрософт:
2413738 Накопительный пакет обновления 11 для SQL Server 2008 с пакетом обновления 1Примечание Поскольку сборки являются накопительными, каждый новый выпуск исправления содержит все исправления и исправления для системы безопасности, которые были включены в предыдущий выпуск исправления 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 R2
Исправление этой проблемы впервые выпущено в накопительном пакете обновления 5. Для получения дополнительной информации о том, как получить этот накопительный пакет обновления для SQL Server 2008 R2, откройте статью со следующим номером в базе знаний Майкрософт:
Накопительный пакет обновления 2438347 5 для SQL Server 2008 R2 Примечание. Поскольку сборки являются накопительными, каждый новый выпуск исправления содержит все исправления и исправления для системы безопасности, которые вошли в предыдущий выпуск исправления SQL Server 2008 R2. Рекомендуется рассмотреть возможность применения последнего выпуска исправления, содержащего это исправление. Для просмотра статьи в базе знаний Майкрософт щелкните следующий номер статьи:
981356 Сборки SQL Server 2008 R2, выпущенные после выпуска SQL Server 2008 R2
SQL Server 2008 с пакетом обновления 2 (SP2)
Исправление для этой проблемы было впервые выпущено в накопительном пакете обновления 2 для SQL Server 2008 с пакетом обновления 2. Дополнительные сведения об этом накопительном пакете обновления см. в следующей статье базы знаний Майкрософт:
2467239 Накопительный пакет обновления 2 для 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, перечисленных в разделе «Относится к».