KB2256829 - ИСПРАВЛЕНО: некоторое количество последних XML-столбцов может быть реплицировано неправильно, если вы используете веб-синхронизацию для репликации слияния в SQL Server 2008 или SQL Server 2008 R2

Применяется к
SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Standard SQL Server 2008 Standard Edition for Small Business SQL Server 2008 Workgroup SQL Server 2008 R2 Datacenter SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard SQL Server 2008 R2 Standard Edition for Small Business SQL Server 2008 R2 Workgroup

Корпорация Майкрософт распространяет исправления 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, которые не имеют значения NULL. Однако при потоковой передаче XML-столбцам репликация реплицирует только это число столбцов при потоковой передаче подписчику. Поэтому остальные столбцы содержат пустую строку.

В примере, описанном в разделе "Симптомы", есть два столбца XML, которые не имеют значения NULL. Поэтому только первые два XML-столбца реплицируются с правильными данными.

Решение

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

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

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

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

970365 Сборки SQL Server 2008 г., выпущенные после выпуска SQL Server 2008 с пакетом обновления 1 (SP1) Исправления для Microsoft SQL Server 2008 предназначены для определенных пакетов обновления SQL Server. Необходимо установить исправление для SQL Server 2008 с пакетом обновления 1 (SP1) для установки SQL Server 2008 с пакетом обновления 1. По умолчанию все исправления, предоставляемые в пакете обновления для SQL Server, входят в следующий пакет обновления для SQL Server.

SQL Server 2008 с пакетом обновления 2 (SP2)

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

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

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

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, перечисленных в разделе «Относится к».

Ссылки

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

Общие сведения о веб-синхронизации для репликации слияния Дополнительные сведения о настройке веб-синхронизации для репликации слиянием см. на следующем веб-сайте MSDN:

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

935897 Команда SQL Server предоставляет модель добавочного обслуживания для предоставления исправлений для обнаруженных проблем

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

822499 Новая схема именования пакетов обновления программного обеспечения Microsoft SQL Server Дополнительные сведения о терминологии обновления программного обеспечения см. в следующей статье базы знаний Майкрософт:

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