Корпорация Майкрософт распространяет исправления Microsoft SQL Server 2008 R2 или Microsoft SQL Server 2008 как один файл для загрузки. Поскольку исправления являются кумулятивными, каждый новый выпуск содержит все исправления и исправления для системы безопасности, которые были включены в пакет исправлений для Microsoft SQL Server 2008 R2 или SQL Server 2008.
Проблемы
Рассмотрим следующий сценарий.
-
Вы установили Microsoft SQL Server 2008 R2 или Microsoft SQL Server 2008 на компьютере.
-
Вы настраиваете одноранговую репликацию транзакций, а затем включаете обнаружение конфликтов в таблице.
-
Позже вы отключите обнаружение конфликтов для одноранговой репликации транзакций.
-
Вы обновляете статистику таблицы.
В этом случае происходит сбой обновления, и появляется следующее сообщение об ошибке:
Сообщение 0, уровень 11, состояние 0, строка 0A серьезная ошибка в текущей команде. Результаты, если таковые имеются, должны быть удалены.
Кроме того, возникает исключение нарушения прав доступа, и в папке журнала ошибок SQL Server генерируется файл мини-дампа.
Причина
Эта проблема возникает из-за того, что ядро СУБД пытается загрузить статистику для висячих версий. Если включено обнаружение конфликтов P2P, системный столбец MDColumnIdP2pCdId добавляется к базовому набору индексов таблицы. Запросы, связанные с репликацией, могут автоматически создавать статистические данные в столбце System. Если отключено обнаружение конфликтов P2P, системный столбец удаляется из таблицы. Однако сохранится соответствующая статистика. Следовательно, обновление статистики приводит к возникновению исключения нарушения прав доступа, так как статистика не может быть добавлена в таблицу.
Решение
Сведения о накопительном пакете обновления
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 R2
Исправление для этой проблемы впервые выпущено в накопительном обновлении 9. Для получения дополнительных сведений о том, как получить этот накопительный пакет обновления для SQL Server 2008 R2, щелкните следующий номер статьи базы знаний Майкрософт:
2567713 Накопительный пакет обновления 9 для SQL Server 2008 R2 Примечание. Поскольку сборки являются кумулятивными, каждый новый выпуск исправлений содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2008 R2. Рекомендуется установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
981356 Сборки SQL Server 2008 R2, выпущенные после выпуска SQL Server 2008 R2
SQL Server 2008 с пакетом обновления 2
Исправление для этой проблемы впервые выпущено в накопительном обновлении 3 для SQL Server 2008 с пакетом обновления 2. Чтобы получить дополнительные сведения об этом накопительном пакете обновления, щелкните следующий номер статьи базы знаний Майкрософт:
2498535 Накопительный пакет обновления 3 для SQL Server 2008 с пакетом обновления 2 (SP2)Примечание. Так как сборки являются кумулятивными, каждый новый выпуск исправлений содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2008. Корпорация Microsoft рекомендует установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
2402659 Сборки SQL Server 2008, выпущенные после выпуска пакета обновления 2 (SP2) для SQL Server 2008 Исправления 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 R2Примечание. Поскольку сборки являются кумулятивными, каждый новый выпуск исправлений содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2008 R2. Рекомендуется установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
981356 Сборки SQL Server 2008 R2, выпущенные после выпуска SQL Server 2008 R2
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".
Дополнительная информация
Дополнительные сведения о том, как настроить и поддерживать одноранговую топологию репликации с помощью мастера настройки одноранговой топологии, можно найти на веб-сайте Microsoft Developer Network (MSDN).
Практическое руководство: Настройка одноранговой репликации транзакций (SQL Server Management Studio)Дополнительные сведения об обнаружении конфликтов можно найти на веб-сайте MSDN по следующему адресу:
Обнаружение конфликтов в одноранговой репликацииДополнительные сведения о терминах, используемых при описании обновлений программного обеспечения, см. в указанной ниже статье базы знаний Майкрософт.
824684 Стандартные термины, используемые при описании обновлений программных продуктов Майкрософт