Database
 sql >> база данни >  >> RDS >> Database

Как да създадете репликация на транзакции

В тази статия ще демонстрирам как се създава транзакционна репликация.

Транзакционната репликация генерира моментна снимка на DB обекти на публикация и данни в нея. След генериране на моментната снимка, всички промени в данните и схемите, настъпили в базата данни на издателя, се доставят до базите данни на абонатите. При репликацията на транзакции промените в данните и схемите са почти в реално време, следователно репликацията на транзакциите може да се използва за разтоварване на отчети и понякога може да се използва като DR сайт.

Когато създаваме транзакционна репликация, SQL Server създава следните SQL задания

  1. Работа на агента за моментна снимка: Задачата на агента за моментна снимка генерира моментна снимка на обекти на база данни за публикации. Моментната снимка се съхранява или в мрежовото местоположение, или на твърдия
  2. Работа с четец на дневници: Log Reader Job непрекъснато следи публикациите. Той открива промени в схемата и заявки за вмъкване, актуализиране и изтриване и ги маркира за репликация. Четецът на журнали използва „Sp_Replcmds ”, за да приложите командите, маркирани за репликация.

Настройка на демонстрация:

За тази демонстрация създадох две копия на SQL Server на един и същ сървър на база данни. Имената и подробностите на екземпляра са следните:

Когато настройвам демонстрацията, не съм създал дистрибутор, така че екземплярът на издателя също ще действа като дистрибутор. Създадох „Клиент ” таблица в базата данни AdventureWorks2014. Ще копирам данните от таблицата на клиентите. Следователно тя ще бъде наречена статия от издателя.

Конфигуриране на издателя

За да конфигурирате издателя, отворете SQL Server Management Studio, разширете екземпляра на базата данни, разгънете Репликация възел и щракнете с десния бутон върху Локална публикация и изберете Нова публикация .

Стартира съветникът за нова публикация. В диалоговия прозорец се предоставя кратко резюме на съветника. Можете да пропуснете по-нататъшното появяване на този диалогов прозорец, като поставите отметка в Да не се показва тази начална страница отново квадратче за отметка. Кликнете върху Напред за да преминете към следващия диалогов прозорец.

В следващия диалогов прозорец изберете базата данни, която действа като издател. В тази демонстрация използвам AdventureWorks2014 база данни, така че изберете AdventureWorks2014 от списъка с база данни и щракнете върху Напред .

В следващия диалогов прозорец изберете типа публикация от списъка с типове публикации и техните описания също са предоставени в Описания на тип публикация текстово поле. Изберете Публикация на транзакции и щракнете върху Напред .

В следващия диалогов прозорец изберете типа публикация от списъка с типове публикации и техните описания също са предоставени в Описания на тип публикация текстово поле. Изберете Публикация на транзакции и щракнете върху Напред .

Ако искате да филтрирате данните на таблицата, можете да посочите условието в диалоговия прозорец Филтриране на редове на таблица. За да добавите филтъра, щракнете върху Добавяне бутон. Друг диалогов прозорец Добавяне на филтър се отваря. В този диалогов прозорец можете да посочите желания израз за филтър в Изявление за филтриране текстово поле.

За тази демонстрация ние не филтрираме данните на Клиента таблица, така че пропуснете този диалогов прозорец и щракнете върху Напред .

За да инициализираме транзакционната репликация, трябва да генерираме моментната снимка. В диалоговия прозорец Snapshot Agent конфигурирайте интервала за генериране на моментна снимка. Можете незабавно да генерирате моментната снимка или да планирате конкретното време за генериране на моментната снимка на базата данни. По подразбиране моментната снимка се генерира на всеки час, но можем да я променим. За да генерирате моментна снимка в определен интервал, щракнете върху Промяна Отваря се диалоговият прозорец New Job Schedule. Конфигурирайте желания график и щракнете върху OK .

В тази демонстрация ще генерирам моментната снимка незабавно, така че проверете Създаване на моментна снимка и запазете моментната снимка налична за инициализиране на абонамента опция и щракнете върху Напред .

В следващия диалогов прозорец конфигурирайте защитата на SQL агент. За да конфигурирате защитата на агента, щракнете върху Настройки за сигурност бутон. Сигурността на агента за моментни снимки ” се отваря диалоговият прозорец. В диалоговия прозорец посочете акаунта, под който абонатът се свързва с издателя. Освен това посочете информацията за акаунта, под която ще се изпълнява задачата на агент на SQL Server. За тази демонстрация заданията на SQL Server се изпълняват под акаунта на услугата на SQL Server Agent, така че изберете Изпълнение под акаунта за услугата на SQL Server Agent опция. Абонатите ще бъдат свързани с издателя с помощта на SQL данни за вход, така че изберете Използване на следното данни за вход в SQL Server опция и посочете SQL вход и парола. В тази демонстрация се свържете с помощта на „sa " Влизане. Щракнете върху OK за да затворите диалоговия прозорец и щракнете върху Напред .

В следващия диалогов прозорец можете да изберете да създадете публикация или да генерирате скриптове за създаване на публикацията. Изберете Генериране на скриптов файл, за да създадете публикацията опция за генериране на скриптове на стъпките за репликация. Ние ще създадем публикацията, така че изберете Създаване на публикацията опция и щракнете върху Напред .

В следващия диалогов прозорец посочете името на публикацията, прегледайте обобщението на задачите, които трябва да се изпълнят за създаване на репликация и щракнете върху Край за да създадете публикацията и затворете Нова публикация Съветник .

Както споменах в началото на статията, когато създаваме транзакционна репликация, тя създава задачата на агент за четене на журнали, задача на агент за моментни снимки и задача за почистване за изтекли абонаменти.

За да ги видите, разгънете SQL Server Agent , след което разгънете Работни места .

След като публикацията е конфигурирана, конфигурирайте абонатите.

Конфигуриране на абоната

За да конфигурирате абоната, първо се свържете с друг екземпляр на SQL. След като се свържете с екземпляра, разгънете Репликация и щракнете с десния бутон върху Локален абонамент .

Съветникът за нов абонамент се отваря. В диалоговия прозорец е предоставено кратко резюме на съветника. Можете да пропуснете по-нататъшното появяване на този екран, като поставите отметка в Да не се показва тази начална страница отново квадратче за отметка. Кликнете върху Напред за да преминете към следващия диалогов прозорец.

В следващия диалогов прозорец изберете сървъра за публикации. Кликнете върху Издател падащото меню и щракнете върху Намиране на издател на SQL Server . Отваря се диалогов прозорец за свързване с издателя. В Име на сървъра текстово поле, посочете името на хоста на сървъра на издателя и щракнете върху Свързване .

След като се установи връзката с издателя, Customer_Publication и AdventureWorks2014 ще бъдат показани в Бази данни и публикации текстово поле. Изберете Customer_Publication и щракнете върху Напред .

В следващия диалогов прозорец изберете местоположението на агента за разпространение. За тази демонстрация ще използвам Изтеглете абонамент , така че изберете Изпълнение на всеки агент при неговия абонат опция и щракнете върху Напред :

В следващия диалогов прозорец изберете база данни за абонаменти. Създадох база данни с име Customer_DB , който действа като база данни за абонати. В базата данни за абонаменти падащото меню, изберете Customer_DB база данни от списъка. След като изберете базата данни за абонаменти, щракнете върху Напред .

В следващия диалогов прозорец конфигурирайте защитата на агента за разпространение. За да конфигурирате защитата, щракнете върху бутона […]. Сигурността на агента за разпространение диалогов прозорец се отваря. В първия раздел посочете акаунта на домейна, под който ще се изпълнява процесът на агента за разпространение. Агентът за разпространение ще работи под услугата SQL Server Agent, така че изберете Изпълнение под акаунта на услугата на агент на SQL Server опция.

Тук не съм конфигурирал сървъра за разпространение, така че издателят действа като дистрибутор. Абонатът ще се свърже с издател/дистрибутор, използвайки SQL вход. За да свържете дистрибутора, използвайте “sa” вход и парола.

Щракнете върху OK за да затворите диалоговия прозорец. В диалоговия прозорец Защита на агента за разпространение щракнете върху Напред .

В следващия диалогов прозорец конфигурирайте графика за синхронизиране на абонамента. Можете да го изберете да работи непрекъснато или да конфигурирате планираното изпълнение. Изберете Изпълнение непрекъснато в Графика на агента падащо меню. Кликнете върху Напред .

В следващия диалогов прозорец изберете дали да инициализирате абонамента незабавно със моментната снимка на данните за публикацията и схемата или след първата синхронизация. Ще инициализираме абонамента незабавно, така че изберете Веднага от Initialize When падащо меню. Кликнете върху Напред .

В следващия диалогов прозорец можете да изберете да създадете абонамент незабавно или да генерирате скриптове за създаване на абонамент. Изберете Генериране на скриптов файл, за да създадете абонамента опция за генериране на скриптове на стъпките за репликация. Ще създадем публикация, така че изберете Създаване на абонамента опция и щракнете върху Напред .

В следващия диалогов прозорец се дава списък със задачи, извършени за създаване на абонамента. Можете да ги прегледате и да кликнете върху Край .

След като абонаментът бъде създаден, можете да го видите под Локален абонамент възел.

Преглед на състоянието на репликация

Можете да използвате монитора на репликацията, за да видите състоянието на репликация. За да отворите Монитор на репликация, разгънете Репликация , след което разгънете Местни публикации. Щракнете с десния бутон върху Customer_Publication и изберете Стартиране на монитор за репликация.

Резюме:

В тази статия обясних:

  1. Резюме на високо ниво на репликацията на транзакциите.
  2. Настройка на демонстрация.
  3. Как да конфигурирам публикация за репликация.
  4. Как да конфигурирате абонати за репликация.

Полезни инструменти:

dbForge Data Compare за SQL Server – мощен инструмент за сравнение на SQL, способен да работи с големи данни.

dbForge Schema Compare за SQL Server – надежден инструмент, който спестява вашето време и усилия при сравняване и синхронизиране на бази данни на SQL Server.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да инсталирате Libreoffice на Ubuntu 16.04

  2. Доставяне на коледни подаръци:Модел на данни на Дядо Коледа

  3. SQL ОГРАНИЧЕНИЯ

  4. ScaleGrid се класира сред топ 100 доставчици на облачни услуги

  5. Превеждане на данни на Salesforce във формат EDI