Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Merge Replication  [new]
alex-ikar
Member

Откуда: Москва
Сообщений: 192
Всем привет!
К сожалению я не являюсь спецом в репликациях поэтому у меня несколько вопросов:

Я сконфигурировал Publisher и два Subscriber.
Для всех созданы агенты.

Агент Snapshot (как я полагаю для Publisher) выполнился нормально.
А вот 2 других агента свалились (Оба агента должны были синхронизировать данные с двумя другими серверами, выступающими в качесиве подписчиков) выдав следующие ошибки:
1-й Агент) The process could not connect to ditributor. Login failed for user 'NT AUTHORITY\ANONIMOUS LOGON'. Step Failed.
2-й Агент) Unable to find the remote agent on remote the server. Upgrade SQL Server if version <= 7.0 or rerun SQL server setup on the remote server. The Step failed.

Если зайти в Publication Properties и посмотреть свойства Subscriberов (закладка Synchronisation --> кнопка [Verify Agent]) то выдает такие же ошибки что и у Агентов.

Я тут помотрел на форуме, но нашел похожую инфу только для случая с 1-м агентом, но из-за недостатка опыта так и не въехал что смотреть и где :(.

Если кто знает в чем тут дело - просьба помочь.
7 апр 04, 15:24    [616779]     Ответить | Цитировать Сообщить модератору
 Re: Merge Replication  [new]
alex-ikar
Member

Откуда: Москва
Сообщений: 192
Дополнение:
На всех серверах стоит - MS SQL Server 2000 Version SQL 8.00.760.
7 апр 04, 15:28    [616787]     Ответить | Цитировать Сообщить модератору
 Re: Merge Replication  [new]
GreenSunrise
Member

Откуда:
Сообщений: 12310
alex-ikar
Login failed for user 'NT AUTHORITY\ANONIMOUS LOGON'

У вас для доступа к подписчикам настроена windows аутентификация и SQL Server Agent на паблишере запущен под аккаунтом Local System. Дайте ему нормальный доменный аккаунт с достаточными правами доступа (для простоты начинайте с локального администратора на удаленной машине, потом урежете в правах, если будет необходимо). Либо используйте не windows аутентификацию, а сиквельную при настройке подписчиков и тоже в правах не обидьте сиквельный аккаунт.

alex-ikar
Unable to find the remote agent on remote the server. Upgrade SQL Server if version <= 7.0 or rerun SQL server setup on the remote server

Сервер на этом подписчике точно 2000? Если да, то был ли он поставлен на чистую машину или это был апгрейд с 7? Если апгрейд с семерки, то какой уровень совместимости на сервере?

P.S. Поскольку вы не написали, используете вы push или pull подписки, то первый комментарий написан для push. Если у вас pull, то замените в нем слова "для доступа к подписчикам" на "для доступа к паблишеру", "SQL Server Agent на паблишере" на "SQL Server Agent на подписчике". Плюс к этому вам надо будет добавить в этом случае подписчика в PAL-лист на паблишере, если вы хотите иметь не анонимную подписку.
7 апр 04, 16:17    [616940]     Ответить | Цитировать Сообщить модератору
 Re: Merge Replication  [new]
alex-ikar
Member

Откуда: Москва
Сообщений: 192
автор
У вас для доступа к подписчикам настроена windows аутентификация и SQL Server Agent на паблишере запущен под аккаунтом Local System. Дайте ему нормальный доменный аккаунт с достаточными правами доступа (для простоты начинайте с локального администратора на удаленной машине, потом урежете в правах, если будет необходимо). Либо используйте не windows аутентификацию, а сиквельную при настройке подписчиков и тоже в правах не обидьте сиквельный аккаунт.

1) SQL Server и SQL Server Agent на всех серверах старуют под учетной записью домена Windows NT/Windows 2000 (включенную в доменную группу "Администраторы").
2) Все подписки имеют тип "push".

О!! Кстати все заработало после того как я изменил Subscription Properties (Publication Properties --> Subscription --> Subscription Properties) Значение опции Where does the Merge Agent run? c At the Subscriber на At the Distributor.
Может кто-нить объяснит мне почему так получилось?
(Значение опции "Выполнение на подписчике" мною было выставлено для того чтобы применить динамические фильтры, которые основаны у меня на host_name(). И теперь надо полагать, в динам.фильтре host_name() будет возвращать всегда имя хоста Publisher(т.к. Distributor я не создавал) )?
7 апр 04, 17:49    [617256]     Ответить | Цитировать Сообщить модератору
 Re: Merge Replication  [new]
GreenSunrise
Member

Откуда:
Сообщений: 12310
Паблишер с дистрибьютором на одной машине?

Режим аутентификации действительно виндовый на страничках
Publisher and Distributor Properties->Publishers->Publisher Properties
и
Publisher and Distributor Properties->Subscribers->Subscriber Properties
? Имперсонация SQL Server Agent'а и там и там?
7 апр 04, 18:12    [617324]     Ответить | Цитировать Сообщить модератору
 Re: Merge Replication  [new]
Александр Гладченко
Member

Откуда:
Сообщений: 10752
Блог
А зачем тогда вы push применяете, если хотите что бы агент на подписчике работал и выдвавл правильное имя компьютера?
8 апр 04, 13:29    [618616]     Ответить | Цитировать Сообщить модератору
 Re: Merge Replication  [new]
alex-ikar
Member

Откуда: Москва
Сообщений: 192
Всем спасибо! - я наконец-то разобрался.
Только остался 1 вопросик:

Есть сконфигурированный Publisher (у него в свойствах Allow anonymous subscriptions стоит нет).
Почему когда я пытаюсь создать pull Subscription для данного Publishera на другом серваке (Сервер ААА) мне выдается сообщение (при выборе нужного Publication):
Subscriber cannot subscribe to this publication. It cannot create named subscription because the publication doesn't allow named pull subscriptions or because it is not registered Subscriber at Publisher. It cannot create anonymous subscription because the publication doesn't allow anonymous subscriptions.
To create a subscription either register this Subscriber at the Publisher or allow anonymous subscriptions to the publication.


Как мне в этом случае создать pull subscription используя НЕ анонимную подписку?.

Я нашел один способ (правда не уверен что он является идеологичеки верным):
1) Надо на Publisher создать push Subscription для (Сервер ААА).
2) Затем созданный push Subscription и инфу о нем на Сервере ААА можно удалить.
3) И после этого можно без особых проблем создать pull subscription (на Сервере ААА) используя НЕ анонимную подписку.

Что скажите по этому поводу? (если можно то поподробнее).
8 апр 04, 18:10    [619554]     Ответить | Цитировать Сообщить модератору
 Re: Merge Replication  [new]
alex-ikar
Member

Откуда: Москва
Сообщений: 192
Дополнение к пункту 2):
2) Затем созданный push Subscription и инфу о нем на Сервере ААА можно удалить.
push Subscription - удаляется на Publisher,
инфа о Subscription - удаляется на Сервере ААА
8 апр 04, 18:14    [619566]     Ответить | Цитировать Сообщить модератору
 Re: Merge Replication  [new]
Александр Гладченко
Member

Откуда:
Сообщений: 10752
Блог
Вообще то говоря - странный метод... :)
Если у Вас установлено свойство публикации: Allow pull subscription, проверьте, включён ли логин, под который агент подписчика подключается к издателю в PAL публикации и входит ли сервер подписчика в список серверов подписчиков для издателя.
https://www.sql.ru/articles/mssql/01102201SettingUpMergeReplicationStepbyStepGuide.shtml
9 апр 04, 10:13    [620300]     Ответить | Цитировать Сообщить модератору
 Re: Merge Replication  [new]
alex-ikar
Member

Откуда: Москва
Сообщений: 192
1) [Allow pull subscription] = yes
2) [Publisher and Distributor properties] --> [Publisher properties] --> [Replication agent connection to the Publisher] => login sa ...
3) [Publisher and Distributor Properties] --> [Subscribers] --> [Properties (...)] --> [Agent connection to the subscriber] => login sa ...
4) Логин sa, под которым агент подписчика подключается к издателю включён в PAL публикацию.
5) Сервер подписчика входит в список серверов подписчиков для издателя.

Хотя, может где-то я какую-нить галочку и не выставил.
Кто-нить сталкивался с похожей ситуацией?
9 апр 04, 17:32    [621810]     Ответить | Цитировать Сообщить модератору
 Re: Merge Replication  [new]
Александр Гладченко
Member

Откуда:
Сообщений: 10752
Блог
Может быть имя компьютера подписчика когда то меняли... стоит проверить.
12 апр 04, 09:10    [623236]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить