Корпорация Майкрософт распространяет исправления 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 Стандартные термины, используемые при описании обновлений программного обеспечения Майкрософт