Перейти к основному контенту
Поддержка
Войдите с помощью учетной записи Майкрософт
Войдите или создайте учетную запись.
Здравствуйте,
Выберите другую учетную запись.
У вас несколько учетных записей
Выберите учетную запись, с помощью которой нужно войти.

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

Проблемы

Рассмотрим следующий сценарий.

  • На компьютере, на котором работает Microsoft SQL Server 2008 или Microsoft SQL Server 2008 R2, создается связанный сервер. Связанный сервер указывает на источник данных OLE DB на удаленном сервере.

  • Вы запускаете распределенный запрос, использующий некоторые объекты данных на связанном сервере.

  • Вы выполняете некоторые операции на удаленном сервере, и операции, которые приводят к более чем пяти обновлениям версии схемы для объектов данных. Например, вы можете перестроить индекс таблицы на удаленном сервере, чтобы обновить ее версию на связанном сервере.Примечание. Операции выполняются перед следующим выполнением запроса.

  • Вы снова запускаете распределенный запрос на связанном сервере.

В этом сценарии запрос не перекомпилируется, и появляется сообщение об ошибке, подобное следующему:

Сервер: MSG 7359, номер уровняуровня, номер состояниясостояния, номер строкив строке "поставщик OLE DB" "имяпоставщика" связанного сервера "имя связанногосервера" сообщило о смене версии схемы между временем компиляции ("время компиляции") и временем выполнения ("время выполнения") для таблицы "имя связанной таблицы".

Примечания.

  • Имя поставщика — это заполнитель для имени поставщика OLE DB.

  • Имя связанной таблицы — это заполнитель для имени таблицы, запрашиваемой на связанном сервере.

  • Следующие инструкции обычно могут изменить версию схемы.

    • ИЗМЕНЕНИЕ ТАБЛИЦЫ

    • СОЗДАНИЕ ПРЕДМЕТНОГО УКАЗАТЕЛЯ

    • УДАЛЕНИЕ ИНДЕКСА

    • ПЕРЕИНДЕКСАЦИЯ DBCC

Причина

Эта проблема возникает из-за того, что достигнуто предельное число повторных компиляций запросов. При внесении изменений в схему некоторые объекты в кэше удаляются, и запросу требуется операция повторной компиляции. Однако предельное значение для повторной компиляции достигается после внесения более пяти изменений, которые обновляют версию схемы. Таким образом, возникает проблема, описанная в разделе "проблема".

Решение

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

SQL Server 2008 R2

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

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

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

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

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

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

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

SQL Server 2008 с пакетом обновления 3

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

2617146 Накопительный пакет обновления 1 для SQL Server 2008 с пакетом обновления 3 (SP3)Примечание. Так как сборки являются кумулятивными, каждый новый выпуск исправлений содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2008. Корпорация Microsoft рекомендует установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:

2629969 Сборки SQL Server 2008, выпущенные после выпуска пакета обновления 3 (SP3) для SQL Server 2008 Исправления Microsoft SQL Server 2008 создаются для конкретных пакетов обновления для SQL Server. Вы должны применить исправление SQL Server 2008 с пакетом обновления 3 (SP3) к установке SQL Server 2008 с пакетом обновления 3 (SP3). По умолчанию любое исправление, предоставленное в пакете обновления SQL Server, входит в следующий пакет обновления для SQL Server.

Накопительный пакет обновления 6 для SQL Server 2008 с пакетом обновления 2 (SP2)

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

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

2402659 Сборки SQL Server 2008, выпущенные после выпуска SQL Server 2008 с пакетом обновления 2 (SP2)

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

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

  • Выполните инструкцию DBCC FREEPROCCACHE(' Plan_Handle '). Дополнительные сведения о параметре Plan_Handle можно найти на веб-сайте MSDN по следующему адресу:

    Общие сведения о параметре Plan_Handle

  • Выполните sp_refreshView хранимой процедуры "ViewName".Примечание. Этот метод не работает, если установлен накопительный пакет обновления 3 для SQL Server 2008 с пакетом обновления 2 (SP2).

Статус

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

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

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.

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

Насколько вы удовлетворены качеством перевода?
Что повлияло на вашу оценку?
После нажатия кнопки "Отправить" ваш отзыв будет использован для улучшения продуктов и служб Майкрософт. Эти данные будут доступны для сбора ИТ-администратору. Заявление о конфиденциальности.

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

×