KB2498796 - ИСПРАВЛЕНО: Может произойти нарушение прав доступа при обновлении статистики таблицы после включения и последующего отключения обнаружения конфликтов в таблице в SQL Server 2008 или SQL Server 2008 R2

Применяется к
SQL Server 2008 R2 Datacenter SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Standard

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

Проблема

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

  • Вы устанавливаете Microsoft SQL Server 2008 R2 или Microsoft SQL Server 2008 на компьютере.
  • Вы настраиваете одноранговую репликацию транзакций, а затем включаете обнаружение конфликтов в таблице.
  • Позже будет отключено обнаружение конфликтов для одноранговой репликации транзакций.
  • Вы обновляете статистику таблицы.

В этом случае происходит сбой обновления и появляется следующее сообщение об ошибке:

Примечание

MSG 0, уровень 11, состояние 0, строка 0

Возникла серьезная ошибка текущей команды. Результаты, если таковые имеются, должны быть отброшены.

Кроме того, возникает исключение о нарушении прав доступа, и в папке журнала ошибок SQL Server создается мини-файл дампа.

Причина

Эта проблема возникает из-за того, что ядро СУБД пытается загрузить висячую статистику. Если обнаружение конфликтов P2P включено, системный столбец MDColumnIdP2pCdId добавляется в базовый набор строк индекса таблицы. Запросы, связанные с репликацией, могут автоматически создавать статистику по системному столбцу. Если обнаружение конфликтов P2P отключено, столбец "Система" удаляется из таблицы. Однако соответствующая статистика остается. Поэтому обновление статистики приводит к возникновению исключения о нарушении прав доступа, так как статистику невозможно добавить в таблицу.

Решение

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

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

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

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

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

SQL Server 2008 R2

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

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

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

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.

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

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

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

Состояние

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

Дополнительные сведения

Дополнительные сведения о настройке и обслуживании топологии одноранговой репликации с помощью мастера настройки одноранговой топологии см. на следующем веб-сайте сети Microsoft Developer Network (MSDN):

Настройка одноранговой репликации транзакций (SQL Server Management Studio) Дополнительные сведения об обнаружении конфликтов см. на следующем веб-сайте MSDN:

Обнаружение конфликтов при одноранговой репликации Дополнительные сведения о терминологии обновления программного обеспечения см. в следующей статье базы знаний Майкрософт:

824684 Стандартные термины, используемые при описании обновлений программного обеспечения Майкрософт