Исправление: Некоторые изменения могут не реплицируются на подписчик правильно в SQL Server 2005 или SQL Server 2008 превышения 2,100 совокупность параметров

Переводы статьи Переводы статьи
Код статьи: 959893 - Vizualiza?i produsele pentru care se aplic? acest articol.
Ошибка #: 50004054 (исправление SQL); 50004028 (исправление SQL)

Корпорация Майкрософт распространяет Microsoft SQL Server 2005 или SQL Server 2008 устраняет файл с исправлениями. Так как исправления являются накопительными, каждый новый выпуск содержит все исправления, и все исправления, входившие в состав предыдущих SQL Server 2005 или SQL Server 2008 исправление выпуска.
Развернуть все | Свернуть все

В этой статье

Проблема

Рассмотрим описанную ниже ситуацию.:
  • В Microsoft SQL Server 2005 или Microsoft SQL Server 2008 Настройка репликации транзакций.
  • Репликация транзакций содержит несколько статей.
  • Для одной из статей использовать хранимые процедуры, команды вставки, обновления команды и команды «Удалить». Например задать доставки оператор для использованиявызов.<stored procedure=""></stored>в окне «Свойства статьи». Команды можно указать с помощью@ ins_cmdпараметр,@ del_cmdпараметр, а также@ upd_cmdпараметрпроцедуры sp_addarticleХранимая процедура.
  • Для другой статьи команды Transact-SQL используется для предоставления инструкций.
  • Изменения некоторых статей. Изменения передаются подписчику в том же пакете выполнения.
  • Сумма параметров, которые требуются для доставки пакета превышает 2,100.

    Примечание.При использовании трассировки SQL Profiler для записи трассировки можно найтипроцедуры sp_executesqlХранимая процедура для раздела, называемый агентом распространителя.
  • Синхронизируйте данные.
В этом случае некоторые изменения могут не реплицируются на подписчик правильно.

Примечание.Можно проверить, что эта проблема возникает при помощи средства сравнения таблицы (Tablediff.exe).

Кроме того пропущенных инструкции в конце пакета. By default, a batch contains 100 transactions.

Примечание.You can view the replicated commands by using thesp_browsereplcmdsstored procedure in the distribution database.

In this situation, if the missed statement performs an INSERT operation, a row may be missed on the subscriber. Then, if later DML operations occur on the missed row at the publisher, Distribution Agent fails, and you receive the following "error 20598" message:
На стороне подписчика при применении реплицированной команды строка не найдена.

Причина

Distribution Agent should detect if the 2,100 maximum parameter limit for stored procedures is exceeded. Then, Distribution Agent should move the overflowing commands to the next execution batch. However, because of a bug, the last command is skipped and is not processed.

Решение

SQL Server 2005 с пакетом обновления 2

Существенный:You must use this fix if you are running SQL Server 2005 Service Pack 2.

The fix for this issue was first released in Cumulative Update 11 for SQL Server 2005 Service Pack 2. Для получения дополнительных сведений о этот накопительный пакет обновления щелкните следующий номер статьи базы знаний Майкрософт:
958735Cumulative update package 11 for SQL Server 2005 Service Pack 2
Примечание.Поскольку сборки являются накопительными, каждый новый выпуск исправление содержит все исправления, и все исправления, входившие в состав предыдущих SQL Server 2005 исправление выпуска. Корпорация Майкрософт рекомендует, чтобы учесть применение последний выпуск исправления, содержащего это исправление. Для получения дополнительных сведений обратитесь к следующей статье Базы Знаний Майкрософт::
937137SQL Server 2005 собирает, выпущенных после выпуска SQL Server 2005 с пакетом обновления 2 (SP2)
Microsoft SQL Server 2005 hotfixes are created for specific SQL Server service packs. Необходимо применить исправление SQL Server 2005 с пакетом обновления 2 (SP2) для установки SQL Server 2005 с пакетом обновления 2 (SP2). По умолчанию все исправления, входящие в пакет обновления SQL Server включено в следующий пакет обновления для SQL Server.

Примечание.For push subscriptions, apply Cumulative Update 11 on the distribution server. For pull subscriptions, apply Cumulative Update 11 on the subscribers.

SQL Server 2005 с пакетом обновления 3

Существенный:You must use this fix if you are running SQL Server 2005 Service Pack 3.

The fix for this issue was also later released in Cumulative Update 1 for SQL Server 2005 Service Pack 3. Для получения дополнительных сведений о этот накопительный пакет обновления щелкните следующий номер статьи базы знаний Майкрософт:
959195Cumulative update package 1 for SQL Server 2005 Service Pack 3
Примечание.Поскольку сборки являются накопительными, каждый новый выпуск исправление содержит все исправления, и все исправления, входившие в состав предыдущих SQL Server 2005 исправление выпуска. Корпорация Майкрософт рекомендует, чтобы учесть применение последний выпуск исправления, содержащего это исправление. Для получения дополнительных сведений обратитесь к следующей статье Базы Знаний Майкрософт::
960598SQL Server 2005 собирает, выпущенных после выпуска SQL Server 2005 с пакетом обновления 3
Microsoft SQL Server 2005 hotfixes are created for specific SQL Server service packs. You must apply a SQL Server 2005 Service Pack 3 hotfix to an installation of SQL Server 2005 Service Pack 3. По умолчанию все исправления, входящие в пакет обновления SQL Server включено в следующий пакет обновления для SQL Server.

Примечание.For push subscriptions, apply Cumulative Update 1 on the distribution server. For pull subscriptions, apply Cumulative Update 1 on the subscribers.

SQL Server 2008

Исправление этой уязвимости первого выпуска накопительного обновления 3. Для получения дополнительных сведений о том, как получить этот накопительный пакет обновления для SQL Server 2008 щелкните следующий номер статьи базы знаний Майкрософт:
960484Накопительный пакет обновления 3 для SQL Server 2008
Примечание.Поскольку сборки являются накопительными, каждый новый выпуск исправление содержит все исправления, и все исправления, входившие в состав предыдущих SQL Server 2008 исправление выпуска. Рекомендуется, чтобы учесть применение последний выпуск исправления, содержащего это исправление. Для получения дополнительных сведений обратитесь к следующей статье Базы Знаний Майкрософт::
956909SQL Server 2008 построений, которые были выпущены после выхода SQL Server 2008
Примечание.For push subscriptions, apply Cumulative Update 3 on the distribution server. For pull subscriptions, apply Cumulative Update 3 on the subscribers.

Временное решение

Для решения проблемы используйте один из указанных ниже способов..

Способ 1.

Decrease the value of theCommitBatchSizeparameter for Distribution Agent. Therefore, you can avoid exceeding 2,100 parameters per batch of committed transactions.

Способ 2

Use the same command delivery mechanism for all articles in the publication. Avoid mixing the command delivery mechanisms for articles in the same publication.

To avoid error 20598

Error 20598 may occur as a side effect of this issue. To avoid error 20598, you can use the-SkipErrors 20598Параметр. After you enable this switch, Distribution Agent logs the error and then continues to process the additional rows that have to be delivered. After Distribution Agent skips error 20598, data integrity remains compromised because of the missing row. You may have to delete the row and then insert the row again at the publisher to deliver the changes to all the subscribers.

Статус

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

Дополнительная информация

SQL Server 2005

Для получения дополнительных сведений об изменении файлов, а также сведения о требованиях для применения накопительного обновления для пакета, который содержит данное исправление, описанное в данной статье базы знаний Майкрософт щелкните следующий номер статьи базы знаний Майкрософт:
958735Cumulative update package 11 for SQL Server 2005 Service Pack 2

SQL Server 2008

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

Ссылки

Для получения дополнительных сведений о списке построений, которые будут доступны после SQL Server с пакетом обновления 2 (SP2) щелкните следующий номер статьи базы знаний Майкрософт:
937137SQL Server 2005 собирает, выпущенных после выпуска SQL Server 2005 с пакетом обновления 2 (SP2)
Для получения дополнительных сведений о последовательный модели обслуживания для SQL Server щелкните следующий номер статьи базы знаний Майкрософт:
935897Последовательный модели обслуживания доступна группа разработчиков SQL Server для предоставления исправления для устранения неполадок
Для получения дополнительных сведений о том, как получить SQL Server 2005 с пакетом обновления 2 (SP2) щелкните следующий номер статьи базы знаний Майкрософт:
913089Получение последнего пакета обновления для SQL Server 2005
Для получения дополнительных сведений о новых возможностях и улучшениях в SQL Server 2005 с пакетом обновления 2 (SP2) посетите следующий веб-узел корпорации Майкрософт:
http://go.Microsoft.com/fwlink/?LinkId=71711
Для получения дополнительных сведений о схеме именования для обновления SQL Server щелкните следующий номер статьи базы знаний Майкрософт:
822499Новая схема присвоения имен пакетам обновлений программного обеспечения Microsoft SQL Server
Дополнительные сведения о терминах, используемых при описании обновлений программного обеспечения, см. в следующей статье базы знаний Майкрософт::
824684Стандартные термины, используемые при описании обновлений программных продуктов Майкрософт

Свойства

Код статьи: 959893 - Последний отзыв: 29 ноября 2010 г. - Revision: 2.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Workgroup
Ключевые слова: 
kbsurveynew kbfix kbqfe kbexpertiseadvanced kbmt KB959893 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:959893

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com