Предложения по отладке репликации SQL Server 2005 - PullRequest
1 голос
/ 17 января 2009

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

  • Издатель находится в Домене и общается с подписчиком (не в домене) через VPN.
  • Я могу пропинговать издателя от подписчика и наоборот.
  • Я могу войти в MSSQL на издателе от подписчика.
  • Издатель находится в состоянии ошибки, поскольку от подписчика не регистрируется никаких действий.
  • Абонент не может подключиться к дистрибьютору.
  • Трассировочные токены сообщают время для дистрибьютора, но ожидают только для подписчика.
  • Предполагая, что изменения в БД от третьего лица могут вызывать проблемы, я удалил подписку и публикацию и воссоздал их.
  • Я могу подтвердить, что вчера с использованием тех же таблиц / учетных записей пользователей / серверов и т. Д. Репликация работала и реплицировала данные.

Если у вас есть какие-либо предложения, чтобы попытаться сузить суть проблемы, они будут очень признательны.

Ответы на вопросы:

  • Я использую одностороннюю репликацию транзакций
  • Распространитель находится на том же компьютере, что и издатель.
  • И издатель, и подписчик 2003 SP2

Кажется, снова работает

Я до сих пор не знаю, почему перестали работать исходные рабочие настройки. Но когда я снова подписался, у меня были неправильные учетные данные для одного из соединений. Исправляя эту проблему, репликация снова работает.

Ответы [ 2 ]

2 голосов
/ 19 января 2009

Можете ли вы выполнить T-SQL в обоих направлениях? Вы говорите, что подписчик не может подключиться к распределителю, но может ли распределитель видеть оба? Распределитель в вашей сети или в удаленной сети? Мне просто интересно, если вещи распределяются по распределителю, и разъединение между ним и вашим подписчиком, или если разъединение - издатель -> распространитель, особенно если все три находятся на разных серверах.

Просто где-то начать.

1 голос
/ 29 мая 2009

Мне никогда не приходилось отлаживать проблемы с читателем журнала, но часто приходилось отлаживать проблемы с подписчиком. Я бы запустил агент распространения (я помню, он назывался distrib.exe ... это потому, что я набирал его так часто!) С огромным набором журналов отладочных флагов (я только что посмотрел документацию по BOL и вижу аргумент OutputVerboseLevel. Я не помню имя этого аргумента напрямую, но оно выглядит правдоподобно).

Вы можете выяснить, какие аргументы следует предоставить агенту, посмотрев определение задания, которое было установлено мастером репликации. Одним из шагов должно быть «выполнить внешнюю команду», которая будет иметь куча имен аргументов и значений.

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

pjjH

...