Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Простой вопрос по репликации / 10 сообщений из 10, страница 1 из 1
28.10.2002, 17:39:03
    #32062430
tyblin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простой вопрос по репликации
Настроил репликацию слиянием между двумя удаленными серваками.
Объясните, плиз, зачем Snapshot Agent запускается по расписанию?
Разве не достаточно один раз при создании Push Subscription синхронизировать базы?
Ведь дальше Merge Agent должен поддерживать идентичность баз?
...
Рейтинг: 0 / 0
28.10.2002, 18:53:11
    #32062462
Белов Владимир
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простой вопрос по репликации
А кто тебе сказал, что он запускается по расписанию ?
...
Рейтинг: 0 / 0
28.10.2002, 19:06:07
    #32062470
GreenSunrise
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простой вопрос по репликации
Когда подключается новый подписчик, к нему сначала применяется готовый snapshot (если это не отключено), а потом разница между snapshot'ом и текущими данными. Если время от времени не обновлять snapshot, то подключение нового подписчика будет занимать все больше времени. А хранение разницы между этими данными - все больше места.
...
Рейтинг: 0 / 0
30.10.2002, 10:16:11
    #32062986
tyblin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простой вопрос по репликации
еще один вопрос, подскажите, плиз - при Merge репликации работает ли отложенное обновление?
Если связь между серверами хоть редко, но все же обрывается, будут ли среплецированы данные, если связь пропадет во время работы Merge агента?
...
Рейтинг: 0 / 0
30.10.2002, 10:39:04
    #32063006
Александр Гладченко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простой вопрос по репликации
Да, такое поддерживается. Marge-агент запускается по расписанию, с приемлимой для вашей бизнес-логики периодичностью. Если связи нет, то он после нескольких попыток подключения к издателю и дистрибутору, просто закончит текущий сеанс с ошибкой. После восстановления связи, информация будет синхронизирована без потерь.
Важно только помнить, что если связи не будет очень долго, может оказаться, что дешевле выполнить реинициализацию подписчика (залить свежий снапшот), чем закачивать все накопившиеся изменения. Именно для этого случая и рекомендуется периодически создавать новый снапшот (я это делаю раз в сутки), что бы всегда был под рукой....
...
Рейтинг: 0 / 0
30.10.2002, 10:51:09
    #32063015
tyblin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простой вопрос по репликации
Большое спасибо!
И еще, просто для уточнения - чтобы применить снапшот на новом подписчике по удаленному соединению у меня уходит, скажем, 1 час. На издателе база постоянно изменяется. Те изменения, которые произошли за этот час потом все равно будут среплецированы на подписчика?
...
Рейтинг: 0 / 0
30.10.2002, 15:25:58
    #32063183
Александр Гладченко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простой вопрос по репликации
Да. В том же сеансе, когда применяется снапшот.
...
Рейтинг: 0 / 0
31.10.2002, 10:34:21
    #32063465
tyblin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простой вопрос по репликации
Столкнулся со следующей ситуацией - по удаленному соединению первоначальная синхронизация не происходит (Merge replication, Push), вылетает ошибка что-то вроде "Агент не отвечает более чем 10 минут. Ошибка". При каждом повторе то же самое. Наверно соединение слабое для большого снапшота.
Применить снапшот на той стороне из локальной папки автоматом, как я понял, невозможно. В форуме советуют только вручную скрипты из него выполнять. Но их у меня больше 500.
Я удалил подписку, восстановил ну удаленном серваке бекап основной базы и при создании подписки указал что база уже имеет все данные. При запуске Мердж агента каждый раз выдает следующее:

"The subscription to publication 'ХХХ' is invalid.
(Source: Merge Replication Provider (Agent); Error number: -2147201019)
__________
General network error. Check your network documentation.
(Source: 192.168.30.224 (Data source); Error number: 11)"

Что это значит??

Подскажите, плиз, как поступить?
Очень надо настроить!
Лучший вариант, наверное, применить локально снапшот. Возможно ли это сделать автоматически??
...
Рейтинг: 0 / 0
31.10.2002, 12:14:14
    #32063522
Александр Гладченко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простой вопрос по репликации
Для вашего случая более подходит Pull подписка.
Кроме того, вы описали ошибку, которую выдал издатель. Посмотрите, что на самом деле произошло в деталях истории работы marge - агента.
Возможно, что вы просто не увеличили стандартные таймауты в опциях ЕМ...
...
Рейтинг: 0 / 0
31.10.2002, 18:18:02
    #32063759
tyblin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простой вопрос по репликации
Спасибо, Pull подписчик действительно более подошел. Снапшот применился. Но возник еще один простой вопрос:
Базы синхронизированы, и поле Identity в них одинаковы. При занесении записи одновременно в двух базах в одну таблицу изменения, внесенные на подписчике заменяются на то что внесено на издателе. Подозреваю, что это из-за одинаковых значениях Identity и издатель побеждает при конфликте.
Как избежать этой ситуации? (При Push подписчике такого почему-то не возникало!!)

При создании публикации, для полей Identity автоматически не ставится Not for replication?
И как его поставить в EM?
Если даже проставить для всех таблиц вручную, то делать это надо на подписчике и на издателе вместе, выставив другой диапазон?
Но тогда при очередном накатывании Снапшота на подписчике надо будет опять менять диапазон во всех таблицах?
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Простой вопрос по репликации / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]