Корпорация Майкрософт распространяет исправления Microsoft SQL Server 2008 и Microsoft SQL Server 2008 R2 как один файл для загрузки. Поскольку исправления являются кумулятивными, каждый новый выпуск содержит все исправления и исправления для системы безопасности, которые были включены в исправленный выпуск SQL Server 2008 или SQL Server 2008 R2.
Проблемы
Рассмотрим следующий сценарий.
-
Вы создаете публикацию слиянием и настраиваете ее для включения веб-синхронизации на компьютере, на котором запущен Microsoft SQL Server 2008 или SQL Server 2008 R2.
-
Вы выбираете таблицу для публикации. Таблица содержит несколько XML-столбцов, а для некоторых XML-столбцов задано значение NULL.
-
Вы настраиваете подписку на публикацию слиянием, а затем инициализируется репликация слиянием.
В этом случае определенное количество последних столбцов для таблицы подписки пусто. Например, у вас есть таблица, в которой есть три XML-столбца. Первый XML-столбец имеет значение NULL в одной из записей таблицы. Тем не менее, второй и третий XML-столбцы этой записи содержат XML-данные. В этом сценарии последний XML-столбец неправильно установлен на пустую строку после выполнения репликации слиянием.
Причина
Эта проблема возникает из-за ошибки в логике репликации для веб – синхронизации. При выполнении репликации учитывается количество XML-столбцов, которые не являются пустыми . Однако операция репликации реплицирует только это количество столбцов, если XML-столбцы передаются в потоке на подписчик. Таким образом, оставшиеся столбцы имеют пустую строку. В примере, описанном в разделе "симптомы", есть два XML-столбца, которые не имеют значения NULL. Таким образом, реплицируются только первые два XML-столбца с правильными данными.
Решение
Сведения о накопительном пакете обновления
SQL Server 2008 с пакетом обновления 1
Исправление для этой проблемы впервые выпущено в накопительном обновлении 10 для SQL Server 2008 с пакетом обновления 1 (SP1). Чтобы получить дополнительные сведения об этом накопительном пакете обновления, щелкните следующий номер статьи базы знаний Майкрософт:
2279604 Накопительный пакет обновления 10 для SQL Server 2008 с пакетом обновления 1 (SP1)Примечание. Так как сборки являются кумулятивными, каждый новый выпуск исправлений содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2008. Корпорация Microsoft рекомендует установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
970365 Сборки SQL Server 2008, выпущенные после выпуска пакета обновления 1 (SP1) для SQL Server 2008 Исправления Microsoft SQL Server 2008 создаются для конкретных пакетов обновления для SQL Server. Вы должны применить исправление для SQL Server 2008 с пакетом обновления 1 (SP1) к установке SQL Server 2008 с пакетом обновления 1. По умолчанию любое исправление, предоставленное в пакете обновления SQL Server, входит в следующий пакет обновления для SQL Server.
SQL Server 2008 с пакетом обновления 2
Исправление для этой проблемы впервые выпущено в накопительном обновлении 1 для SQL Server 2008 с пакетом обновления 2. Чтобы получить дополнительные сведения об этом накопительном пакете обновления, щелкните следующий номер статьи базы знаний Майкрософт:
2289254 Накопительное обновление 1 для SQL Server 2008 с пакетом обновления 2Примечание. Так как сборки являются кумулятивными, каждый новый выпуск исправлений содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2008. Рекомендуется установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
2402659 Сборки SQL Server 2008, выпущенные после выпуска пакета обновления 2 (SP2) для SQL Server 2008
SQL Server 2008 R2
Исправление для этой проблемы впервые выпущено в накопительном обновлении 5. Для получения дополнительных сведений о том, как получить этот накопительный пакет обновления для SQL Server 2008 R2, щелкните следующий номер статьи базы знаний Майкрософт:
2438347 Накопительный пакет обновления 5 для SQL Server 2008 R2 Примечание. Поскольку сборки являются кумулятивными, каждый новый выпуск исправлений содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2008 R2. Рекомендуется установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
981356 Сборки SQL Server 2008 R2, выпущенные после выпуска SQL Server 2008 R2
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".
Ссылки
Дополнительные сведения о веб-синхронизации для репликации слиянием можно найти на веб-сайте Microsoft Developer Network (MSDN) по следующему адресу:
Общие сведения о веб-синхронизации для репликации слияниемДополнительные сведения о настройке веб-синхронизации для репликации слиянием можно найти на веб-сайте MSDN по следующему адресу:
Общие сведения о настройке веб-синхронизации для репликации слияниемЧтобы получить дополнительные сведения о модели добавочного обслуживания для SQL Server, щелкните следующий номер статьи базы знаний Майкрософт:
935897 Модель обслуживания изменений, используемая рабочей группой SQL Server, предоставляет модель ISM для распространения исправлений обнаруженных проблемЧтобы получить дополнительные сведения о схеме присвоения имен обновлениям SQL Server, щелкните следующий номер статьи базы знаний Майкрософт:
822499Новая схема присвоения имен пакетам обновлений программного обеспечения Microsoft SQL ServerЧтобы получить дополнительные сведения о терминологии обновления программного обеспечения, щелкните следующий номер статьи базы знаний Майкрософт:
824684 Стандартные термины, используемые при описании обновлений программных продуктов Майкрософт