Главная » Microsoft SQL Server, Базы данных » Разрешение проблем репликации

0

Для разрешения проблем репликации поищите в Replication Monitor издателей и публикации, имеющие значок с белым крестом в красном кружке. На панели All Subscriptions найдите проблемную подписку, щелкните на ней правой кнопкой мыши и выберите в контекстном меню пункт View Details. В нижней части открывшегося окна вы увидите сообщение об ошибке. Если ничего не отображается, закройте окно View Details, щелкните правой кнопкой мыши на сбойном агенте и выберите профиль Verbose Agent. Перезапустите агента. На этот раз в нижней части окна View Details вы увидите более подробное описание ошибок.

Большинство ошибок являются преходящими и легко устраняются с помощью перезапуска агентов слияния или распространения.

Иногда, особенно при работе репликации слияния или использующей обновления, вы можете обнаружить неожиданную потерю данных. В большинстве случаев это связано с конфликтами. Для просмотра этих конфликтов (и возможного отката, если используется репликация слияния) щелкните правой кнопкой мыши на публикации в Management Studio и выберите в контекстном меню пункт View Conflicts.

Если данные все еще не отправлены подписчику, проверьте его состояние синхронизации. Щелкните правой кнопкой мыши на подписке и выберите в контекстном меню пункт View Synchronization Status.

При желании вы можете протоколировать вывод агентов репликации в файлы журналов. Для этого установите в проблемном агенте следующие ключи, после чего выполните его перезапуск:

-OutputVerboseLevel 3 -Output c:\Temp\Out.log

Некоторые ошибки агента распространения можно пропускать, установив в нем ключ -Skiperrors XXX, где XXX—номерошибки.

Существует еще несколько команд, позволяющих заглянуть внутрь процессов репликации. Например, хранимая процедура sp_hrowsereplcmds показывает содержимое базы данных распространения, а представление distribution.dbo.MSDistribution_status — сколько команд было распространено подписчикам и сколько еще ожидает распространения. Хранимая процедура sp_repltran, выполненная в базе данных публикаций, отображает команды, ожидающие выборки агентом чтения журнала транзакций.

Пакеты обновлений

С выходом пакетов обновлений SP1 и SP2 ряд изменений коснулся и службы репликаций в SQL Server.

?               Зеркальное отображение базы данных можно использовать совместно с репликацией.

?               Для таблиц, которые используют ограничения каскадной ссылочной целостности, такие как ON DELETE CASCADE или ON UPDATE CASCADE, репликация поддерживает операции слияния в предварительно вычисленных разделах.

?               В редакции Enterprise Edition можно инициализировать подписку в публикации снимков и транзакций, используя снимок базы данных. Для этого нужно установить для свойства публикации sync_method значение database snapshot или database snapshot character. Снимки баз данных закладывают фундамент устойчивого механизма обработки снимков, способный уменьшить конкуренцию блокировок в базе данных публикаций во время генерации снимка.

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

Резюме

Репликация — это один из методов распространения данных, и он не всегда лучше других подходит к конкретным потребностям распространения данных. В данной главе мы обсудили альтернативы, равно как и различные типы самой репликации. Для каждого из этих типов было указано, когда его лучше использовать, также был представлен метод развертывания данного решения репликации. В этой главе мы рассмотрели множество новых, введенных в SQL Server 2005, средств репликации, а также новые интерфейсы развертывания и администрирования репликаций.

Источник: Нильсен, Пол. Microsoft SQL Server 2005. Библия пользователя. : Пер. с англ. — М. : ООО “И.Д. Вильямс”, 2008. — 1232 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии