Корпорация Майкрософт распространяет исправления для Microsoft SQL Server 2008 R2 с пакетом обновления 1 (SP1) или Microsoft SQL Server 2012 в одном загружаемом файле. Поскольку исправления являются кумулятивными, каждый новый выпуск содержит все исправления и все обновления для системы безопасности, которые были включены в предыдущий выпуск SQL Server 2008 R2 с пакетом обновления 1 (SP1) или Microsoft SQL Server 2012.

Проблемы

Рассмотрим следующий сценарий.

  • Вы создаете не менее двух публикаций репликации транзакций на основе одной базы данных в Microsoft SQL Server 2008 R2 или Microsoft SQL Server 2012.

  • У каждой публикации есть хотя бы одна статья. Статьи не перекрываются, а каждая статья относится только к одной публикации.

  • Вы задаете свойство @sync_method публикаций для параллельноговыполнения.

  • Для свойства @immediate_sync публикации задано значение true.

  • Параметр MaxCmdsInTran агента чтения журнала можно установить в ненулевое значение.

  • Одна из публикаций получает много вставок в одной транзакции.

  • После фиксации транзакции агент чтения журнала начинает обрабатывать и разрывать транзакцию в соответствии с параметром MaxCmdsInTran .

  • Агент моментальных снимков в другой публикации запускается до того, как агент чтения журнала завершит задачу.

В этом случае происходит сбой агента чтения журнала, и появляется следующее сообщение об ошибке:

Процессу не удалось выполнить "sp_MSadd_replcmds" на "server\instance". (Источник: MSSQLServer; номер ошибки: 1007) Не удается вставить повторяющуюся строку ключа в объект dbo. MSrepl_commands "с уникальным индексом" ucMSrepl_commands ". (Источник: MSSQLServer; номер ошибки: 1007)

Решение

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

SQL Server 2012

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

2679368 Накопительный пакет обновления 1 (SP1) для SQL Server 2012Примечание. Так как сборки являются кумулятивными, каждый новый выпуск исправлений содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2012. Корпорация Microsoft рекомендует установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:

2692828 Сборки SQL Server 2012, выпущенные после выпуска SQL Server 2012 Вы должны применить исправление SQL Server 2012 к установке SQL Server 2012.

Накопительный пакет обновления 4 для 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 с пакетом обновления 1 (SP1). Рекомендуется установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:

2567616 Сборки SQL Server 2008 R2, выпущенные после выпуска сервера SQL Server 2008 R2 с пакетом обновления 1 (SP1)

Обходное решение

Чтобы обойти эту проблему, воспользуйтесь одним из описанных ниже методов.

  • Не устанавливайте для свойства @sync_method публикаций значение "параллельный", а для свойства @immediate_sync публикаций — значение true.

  • Установите для параметра MaxCmdsInTran значение ноль.

Статус

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

Нужна дополнительная помощь?

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединение к программе предварительной оценки Майкрософт

Были ли сведения полезными?

Насколько вы удовлетворены качеством перевода?
Что повлияло на вашу оценку?

Спасибо за ваш отзыв!

×