Просто вопрос по репликации

Cooper
Дата: 08.10.2003 19:22:27
Привет

Есть задумка - поставить еще один сервер на нотбук и включить его в репликацию. НО! Этот Нотбук - по понятным причинам периодически будет не доступен. Подскажите - как себя будет вести репликация? Не отвалится ли она? Будет ли она выполняться между другими участниками репликации? Или если один подписчик - отвалился (/недоступен), то и вся репликация накроется?

==========
Спасибо.
Crimean
Дата: 08.10.2003 19:56:14
Замучаешься переиничивать этого подписчика.
Остальным будет достаточно фиолетово.
Cooper
Дата: 08.10.2003 20:00:56
Замучаешься переиничивать этого подписчика.

А можно поподробнее? Что нужно будет делать? Если есть ссылка на статью - буду признателен. Спасибо.

===============================
КУ
Gator
Дата: 09.10.2003 10:55:15
автор писал:
как себя будет вести репликация? Не отвалится ли она?

Не отвалится. Ей до лампочки.
автор писал:
Будет ли она выполняться между другими участниками репликации?
Зависит от того что у Вас на NB:
  • Подписчик: Будет. Подписчики друг про друга не знают
  • Издатель: Данные на дистрибутор передадутся при соединении с ним (+ агент и пр.)
  • Дистрибутор: Понятно, что он буджет доступен только в момент работы NB в сети.

    Вряд ли у Вас дистрибутор на NB. Но если так, обратите внимание на его настройки.

    Однажды столкнулся с такой ситуацией (страшилка - for Glory :) ).
    Представьте звезду: Около 200 SQL2k (1 - L0, 17 - L1 и > 100 уровня L2)
                L2 -- L1 -- L2
    

    |
    L2 -- L1 -- L0 -- L1 -- L2

    | |
    L2 L1 -- L2

    Каждый Ln - и издатель, и дистрибутор, и подписчик
    Потоки данных бегают между всеми уровнями.
    Была настройка дистрибуторов по умолчанию (сами дураки, но кто же знал).
    При длительном падении канала L0 - L1 данные c его уровней L2 копились в distib но не уходили на L0, диск переполнился (ставьте ограничения объема на distrib, длительность хранения транзакций и периодичность обновлений)? тачка встала. После включения канала пошла цепная реакция. Правда мы были на готове и быстро все привели в порядок.
  • Cooper
    Дата: 09.10.2003 11:40:23
    2 Gator

    У меня щас простая звезда: Один издатель (он же дистрибьютер) и несколько подписчиков. Репликация мерже (push). Вот хочу еще Нотбук сделать подписчиком. Но он будет примерно раз в день в сеть втыкаться. Я так понимаю, что это возможно.

    ===============================
    Qper (рус. Купер)
    GreenSunrise
    Дата: 09.10.2003 11:50:30
    Все будет нормально. Это вполне штатное решение.
    Cooper
    Дата: 09.10.2003 12:38:44
    2 GreenSunrise

    Ясно. Спасибо.
    Вот еще есть вопрос. Может поможешь?
    Интересует - как агент Мерже узнает, какие записи были изменены с момента последней репликации, чтобы передать на дистрибьютера? И ещё - как узнать - когда было последняя удачная синхронизация с конкретным подписчиком. (sp_help_jobhistory - выдает только дату последней репликации)

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

    Спасибо.
    ===============================
    Qper (рус. Купер)
    GreenSunrise
    Дата: 09.10.2003 13:10:23
    как агент Мерже узнает, какие записи были изменены с момента последней репликации, чтобы передать на дистрибьютера?
    BOL->Contents->Replication->Types of Replication->Merge Replication->How Merge Replication Works

    Там достаточно просто расписано, какие триггера и хранимые процедуры создаются при настройке репликации, что такое "поколение" и многое другое.

    как узнать - когда было последняя удачная синхронизация с конкретным подписчиком.
    Запускать sp_help_jobhistory с правильными параметрами, например, указывая @run_status = 1 для удачно завершившегося сеанса синхронизации.

    если нужно на клиенте показывать - какие записи были изменены с момента последней синхронизации с издателем
    Читай пункт первый, обращая внимание на системные таблицы MSmerge_genhistory и MSmerge_replinfo.

    Также поинтересуйтесь информацией, касающейся разрешения возникающих конфликтов:
    BOL->Contents->Replication->Types of Replication->Merge Replication->Merge Replication Conflict Detection and Resolution.
    Там написано, что считается конфликтом, какого рода конфликты бывают при репликации, каким образом их можно разрешать, какие таблицы используются для этого и др.
    Cooper
    Дата: 09.10.2003 14:17:23
    2 GreenSunrise

    Ясно. Прочитал.

    The generation column in these tables acts as a logical clock indicating when a row was last updated at a given site. Actual datetime values are not used for marking when changes occur, or deciding conflicts, and there is no dependence on synchronized clocks between sites.


    Вот выяснил, что конкретное значение времени последнего изменения записи -не хранится, а хранится целое число. Понятно для чего. А можно ли по этому числу (в столбце generation ) - узнать дату и время?

    ===============================
    Qper (рус. Купер)
    Cooper
    Дата: 09.10.2003 14:18:26
    2 GreenSunrise

    Ясно. Прочитал.

    The generation column in these tables acts as a logical clock indicating when a
    
    row was last updated at a given site. Actual datetime values are not used for
    marking when changes occur, or deciding conflicts, and there is no dependence on
    synchronized clocks between sites.


    Вот выяснил, что конкретное значение времени последнего изменения записи -
    не хранится, а хранится целое число. Понятно для чего. А можно ли по этому
    числу (в столбце generation ) - узнать дату и время?

    ===============================
    Qper (рус. Купер)