Applies ToSQL Server 2008 Enterprise SQL Server 2008 R2 Enterprise

Корпорация Майкрософт распространяет исправления 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. Первый индекс содержит триггер AFTER. Тем не менее, второй индекс не имеет триггер AFTER.

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

  • Вы пытаетесь выполнить запрос DML для таблицы или для представления.

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

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

    Дата времяNo # ошибка: 17066, серьезность: 16, состояние: 1.Дата и времяSPID # assertion SQL Server: файл: PAGEREF. cpp, строка = 1332 не прошел утверждение = ' 0 = = pageFull '. Эта ошибка может быть связана со временем. Если ошибка не исчезнет после повторного выполнения инструкции, используйте DBCC CHECKDB, чтобы проверить базу данных на наличие структурной целостности, или перезапустите сервер, чтобы убедиться в том, что структуры данных в памяти не повреждены.Дата времяNo # ошибка: 3624, серьезность: 20, состояние: 1.Дата и время > SPID # не удалось проверить системное утверждение. Подробности см. в журнале ошибок SQL Server. Как правило, сбой утверждения вызывается из-за ошибки программного обеспечения или повреждения данных. Чтобы проверить, не повреждена ли база данных, попробуйте выполнить команду DBCC CHECKDB. Если вы согласились отправлять дампы в Microsoft во время установки, мини-дамп будет отправлен в корпорацию Майкрософт. Обновление может быть доступно в Microsoft в новейшем пакете обновления или в QFE от службы технической поддержки.

  • Запрос возвращает неверные результаты.

  • Возникла проблема, связанная с повреждением данных.

Причина

Эта проблема возникает из-за ошибки оптимизатора запросов SQL Server. При выполнении запроса DML, который создает триггер, задаются неверные флаги версии строки, и в подсистеме хранилища SQL Server используются старые сведения о версии строки. Таким образом, возникают проблемы, описанные в разделе "проблема".

Решение

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

SQL Server 2008 R2

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

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

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

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

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

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

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

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

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

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

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

Статус

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

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

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

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

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