ся як на розповсюджувача, так і на кожному сервері-передплатника. Обидва агента записують інформацію журналів подій і журналу помилок у БД розповсюдження. p align="justify"> Реплікація моментальних знімків найбільш підходить для роботи з не надто інтенсивно змінюваними даними, для невеликих публікацій, які можуть оновлюватися повністю без істотного збільшення навантаження на мережу, а також для даних, які не потрібно постійно підтримувати в актуальному стані (припустимо, архівні дані про обсяги продажів).
При реплікації моментальних знімків передплатникам можна дозволити оновлювати реплицироваться інформацію негайно (ImmediateUpdating) та/або в порядку черги (QueuedUpdating). Можливість поновлення передплати (UpdatableSubscription) корисна, коли передплатникам потрібно зрідка змінювати останню. Якщо ж підписку змінюють часто, краще використовувати реплікацію зведенням. Крім того, у випадку з оновлюваними підписками всі оновлення є частиною транзакції. Це означає, що оновлення або цілком підтверджується, або відкочується, якщо відбувається конфлікт. При реплікації зведенням конфлікти вирішуються через підрядник. br/>В
Процес реплікації моментальних знімків
Якщо використовується негайне оновлення підписки, при будь-якій спробі передплатника оновити Реплікованих дані він сам або видавець ініціюють транзакцію з двохетапним підтвердженням (two/phasecommit, 2PC). 2PC/транзакція включає етап підготовки і етап підтвердження, і виконується під управлінням служби MS DTC, запущеної на передплатника і виступає в якості диспетчера транзакцій. На підготовчому етапі MS DTC координує дії служб SQL Server, запущених на видавця і передплатника і грають роль диспетчерів ресурсів, щоб гарантувати успішне виконання транзакції в обох БД. На етапі підтвердження MS DTC отримує від диспетчерів ресурсів повідомлення про успішну підготовку, потім диспетчерам передається команда підтвердження і транзакція підтверджується на сервері-видавця і сервері-передплатника. Якщо на видавця мається конфлікт (конфлікт оновлення ще не було тиражувати насервер-передплатник), транзакція, ініційована передплатником, завершується невдало. 2PC/транзакція гарантує відсутність конфліктів, оскільки видавець виявляє всі конфлікти до підтвердження транзакції. p align="justify"> Якщо використовується чергу оновлень (QueuedUpdating), зроблені передплатником зміни поміщаються в чергу і періодично передаються видавцеві. Зміни можуть бути виконані за відсутності з'єднання з видавцем. Зміни, які перебувають у черзі, пересилаються на даний сервер, коли встановлюється з'єднання. Так як оновлення відбуваються не в реальному часі, то конфлікти можуть відбуватися, якщо інший передплатник або видавець змінили одні й ті ж дані. Конфлікти вирішуються з використанням стратегії вирішення конфліктів, обумовленої в момент створення публікації. p align="justify"> Якщо використовуються обидва варіанти поновлення під...