Концепцията за репликация на моментна снимка е проста. Той генерира и разпространява моментна снимка на схема и данни на статии, появили се в определено време и актуализира промените в абонаментите. Когато създаваме репликация на моментна снимка, SQL Server създава Работа за агент на моментна снимка който генерира моментна снимка на обекти на база данни за публикации. Моментната снимка се съхранява или на мрежово местоположение, или на твърдия диск. Можете да дефинирате интервала за генериране на моментната снимка, като използвате графика на SQL заданието.
Настройка на демонстрация
За тази демонстрация създадох две копия на SQL Server в един сървър на база данни. Имената и подробностите на екземпляра са следните:
[table id=54 /]
В демонстрационната настройка не съм създал дистрибутор, следователно екземплярът на издателя също ще действа като дистрибутор. Ще копирам таблици и данни, които принадлежат наЛицето схема на базата данни AdventureWorks2014.
Конфигуриране на издателя
За да конфигурирате издателя, отворете студио за управление на SQL Server, разширете екземпляра на базата данни, разширете Репликация възел, щракнете с десния бутон върху Local Publication и изберете Нова публикация . Вижте следното изображение:
Стартира съветникът за нова публикация. На екрана е дадено кратко резюме на съветника. Можете да пропуснете този екран, като поставите отметка в Да не се показва тази начална страница отново квадратче за отметка. Кликнете върху Напред за да преминете към следващия екран. Вижте следното изображение:
На следващия екран изберете базата данни, която действа като издател. В тази демонстрация използвам AdventureWorks2014 база данни, следователно изберете AdventureWorks2014 база данни от списъка с бази данни и щракнете върху Напред . Вижте следното изображение:
На следващия екран изберете тип публикация. Типовете са изброени в списъчното поле Типове публикации, а за отделен тип публикация, неговите описания също са обяснени в Описание на тип публикация текстово поле. Изберете Репликация на моментна снимка n и щракнете върху Напред . Вижте следното изображение:
При репликация обектите на базата данни са известни като членове. На Статии екран, се показва списъкът с обекти на база данни в базата данни за публикации. Ще копирам данни от всички таблици, които принадлежат към схемата на Person, следователно изберете таблиците, които принадлежат към схемата Person от списъка със статии и щракнете върху Напред . Вижте следното изображение:
За да инициализираме репликацията, трябва да генерираме моментна снимка. На агента за моментни снимки екран, конфигурирайте интервала за генериране на моментни снимки. Можете незабавно да генерирате моментната снимка или можете да планирате точното време за генериране на моментната снимка на базата данни. По подразбиране моментната снимка се генерира на всеки час, но можем да я променим. За да генерирате моментна снимка за конкретен интервал, щракнете върху Промяна . Нов график за работа диалогов прозорец се отваря. Конфигурирайте желания график и щракнете върху OK . Вижте следното изображение:
В тази демонстрация ще генерирам моментна снимка незабавно, следователно отметнете Създаване на моментна снимка и запазете моментната снимка налична за инициализиране на абонамента опция и щракнете върху Напред.
На следващия екран конфигурирайте защитата на SQL агент. За да конфигурирате защитата на агента, щракнете върху Настройки за сигурност бутон. Сигурността на агента за моментни снимки диалогов прозорец се отваря. В диалоговия прозорец посочете акаунта, под който абонатът се свързва с издателя. Освен това предоставете информацията за акаунта, под която ще се изпълни задачата на агент на SQL Server. За тази демонстрация заданията на SQL Server се изпълняват под акаунта за услуга на агент на SQL сървър, следователно изберете Изпълнение под акаунта на услугата на SQL Server Agent опция. Абонатите ще бъдат свързани с издателя чрез SQL вход, следователно изберете Използване на следната опция за вход в SQL Server и предостави SQL вход и парола. В тази демонстрация се свържете с помощта на sa Влизане. Щракнете върху OK за да затворите диалоговия прозорец и щракнете върху Nex т. Вижте следното изображение:
На следващия екран можете да изберете да създадете публикация или да генерирате скриптове за създаване на публикацията. Изберете Генериране на скриптов файл, за да създадете публикацията опция за генериране на скриптове на стъпките за репликация. Ще създадем публикация, следователно изберете Създаване на публикацията опция и щракнете върху Напред . Вижте следното изображение:
На следващия екран посочете името на публикацията, прегледайте обобщението на задачите, които трябва да бъдат изпълнени за създаване на репликация, и щракнете върху Край за да създадете публикацията и да затворите съветника за нова публикация. Вижте следното изображение:
Както споменах в началото на статията, когато създаваме репликация на моментна снимка, SQL създава задание, което създава моментна снимка и съхранява файловете за моментни снимки в директорията по подразбиране.
За да ги видите, разгънете SQL Server Agent>> разгънете Работни места . Вижте следното изображение:
След като публикацията е конфигурирана, конфигурирайте абонатите.
Конфигуриране на абонат
За да конфигурирате абоната, първо се свържете с друг екземпляр на SQL. След като се свържете с екземпляра, разгънете репликацията и щракнете с десния бутон върху Локален абонамент . Вижте следното изображение:
Нов съветник за абонаменти се отваря. На екрана е дадено кратко резюме на съветника. Можете да пропуснете този екран, като поставите отметка в Да не се показва тази начална страница отново квадратче за отметка. Кликнете върху Напред за да преминете към следващия екран. Вижте следното изображение:
На следващия екран изберете сървъра за публикации. Кликнете върху Издател падащото меню и изберете Намерете издател на SQL Server от списъка. Отваря се диалогов прозорец за свързване на издателя. В текстовото поле за име на сървъра посочете името на хоста на сървъра на издателя и щракнете върху свързване. Вижте следното изображение:
След като се установи връзката с издателя, Snapshot_Replication публикация и AdventureWorks2014 база данни ще бъде показана в Бази данни и публикации текстово поле. Изберете Snapshot_Replication и щракнете върху Напред . Вижте следното изображение:
На следващия екран изберете местоположението на агента за разпространение. За тази демонстрация ще използвам Изтеглете абонамент , следователно изберете Изпълнение на всеки агент при неговия абонат опция и щракнете върхуНапред :
На следващия екран изберете база данни за абонаменти. Създадох база данни с име Лица която действа като база данни за абонати. ВБаза данни за абонаменти падащото меню, изберете Лица база данни от списъка. След като изберете база данни за абонаменти, щракнете върху Напред . Вижте следното изображение:
На следващия екран конфигурирайте защитата на агента за разпространение. За да конфигурирате сигурността, щракнете върху […] бутон. Сигурността на агента за разпространение диалогов прозорец се отваря. В първия раздел посочете акаунта на домейна, под който ще се изпълнява процесът на агента за разпространение. Агентът за разпространение ще работи под услугата агент на SQL Server, следователно изберете Изпълнение под акаунта на услугата на агент на SQL Server опция.
Тук не конфигурирах сървъра за разпространение, следователно издателят действа като дистрибутор. Абонатът ще се свърже с издател/дистрибутор, използвайки SQL Login. За да свържете разпределителя, използвайте sa вход и парола. Вижте следното изображение:
Щракнете върху OK за да затворите диалоговия прозорец. И на Сигурността на агента на разпространение екран, щракнете върху Напред . Вижте следното изображение:
На следващия екран конфигурирайте графика за синхронизиране на абонамента. Можете да го изберете да работи непрекъснато или да конфигурирате планираното изпълнение. Изберете Изпълнение непрекъснато в Графика на агента падащо меню. Кликнете върху Напред . Вижте следното изображение:
На следващия екран изберете дали да инициализирате абонамента незабавно със моментната снимка на данните за публикацията и схемата, или след първата синхронизация. Ще инициализираме абонамента незабавно, следователно изберетеНезабавно от Initialize When падащо меню. Кликнете върху Напред . Вижте следното изображение:
На следващия екран можете да изберете да създадете абонамент незабавно или да генерирате скриптове за създаване на абонамент. Изберете Генериране на скриптов файл, за да създадете абонамента . Възможност за генериране на скриптове на стъпки за репликация. Ще създадем публикация, следователно изберете опцията Създаване на абонамента и щракнете върху Nex т. Вижте следното изображение:
На следващия екран се показва списък със задачи, извършени за създаване на абонамент. Можете да ги прегледате и да кликнете върху Край . Вижте следното изображение:
След като абонаментът бъде създаден, можете да го видите под Локален абонамент възел. Вижте следното изображение:
Промяна на графика за моментни снимки
Както споменах, когато създаваме публикация, можем да конфигурираме интервал на моментна снимка от Snapshot Agent екран. Можем да променим интервала на моментна снимка, като променим графика на SQL задание за репликация на моментна снимка. За да направите това, на сървъра на издателя разгънете SQL Server Agent>> Разгънете Работни места и щракнете с десния бутон върху заданието за репликация на моментна снимка (TTI412-VM\SQL2017-AdventureWorks2014-Snapshot_Replication-4) и изберете Свойства . Вижте следното изображение:
Отваря се диалоговият прозорец Свойства на заданието. Изберете Графици страница, изберете графика и щракнете върху Редактиране . Вижте следното изображение:
Графикът за работа диалогов прозорец се отваря. конфигурирайте подходящ график и щракнете върху OK .
Горната конфигурация генерира моментна снимка на всеки час.
Промяна на местоположението на файловете за моментни снимки
Можем също да поставим файловете със моментни снимки в друга папка. За тази демонстрация файловете със моментни снимки се съхраняват в папката по подразбиране, която е E:\ReplicationSnapshot . Ще променя местоположението на файловете със моментни снимки. Новото местоположение ще бъде E:\Snapshot\PersonsSchema .
Можем да променим местоположението на моментната снимка от свойствата на публикацията. За да отворите свойствата на публикацията, щракнете с десния бутон върху Локална публикация на сървъра на издателя и изберете Свойства. Вижте следното изображение:
Свойства на публикацията диалогов прозорец се отваря. В диалоговия прозорец изберете Моментна снимка . На Моментна снимка екрана, изчистете Поставяне на файлове в папката по подразбиране опция и изберете Поставяне на файлове в следната папка опция. Въведете нов път в текстовото поле и щракнете върху OK . Вижте следното изображение:
Когато извършим тази промяна, текущата моментна снимка става невалидна. Следователно, след като промените тази настройка, ще получите предупреждение, както е показано на следното изображение:
Щракнете върху да. Той ще генерира нова моментна снимка и ще запази файловете за моментни снимки на E:\Snapshots\PersonsSchema\unc . Вижте следното изображение:
Преглед на състоянието на репликация
Можете да използвате Монитор на репликация за да видите състоянието на репликация. За да отворите монитора за репликация, разгънете Репликация n възел>> разширете Местни публикации>> щракнете с десния бутон върху Snapshot_Replication и изберете Стартиране на монитор за репликация . Вижте следното изображение.
С помощта на монитора за репликация можете да видите:
- Състояние на репликация
- Списък с абонаменти
- Дата и час на последното синхронизиране.
С помощта на монитора за репликация можете да видите това състояние на агента и заданията, свързани с заданието. За да го видите, изберете Агент на Монитора за репликация диалогов прозорец. Вижте следното изображение:
Под Агент раздел, можете да видите следните подробности:
- Състояние на заданието за публикуване.
- Име на заданието за публикация.
- Последна начална дата и час на заданието за публикуване.
- Продължителност до завършване на времето на заданието за публикуване.
- Последното действие е извършено от заданието за публикуване.
Резюме
В тази статия бях обяснил:
- Високото ниво е обобщение на репликацията на моментна снимка.
- Как да конфигурирате издател и абонат.
- Монитор за репликация и неговото използване.
Полезни инструменти:
dbForge Data Compare за SQL Server – мощен инструмент за сравнение на SQL, способен да работи с големи данни.
dbForge Schema Compare за SQL Server – надежден инструмент, който спестява вашето време и усилия при сравняване и синхронизиране на бази данни на SQL Server.