Репликация — это технология синхронизации данных между различными экземплярами SQL Server, которая обеспечивает копирование и распространение данных и объектов базы данных с последующим поддержанием их согласованности.
-- Пример настройки репликации транзакций
EXEC sp_addpublication
@publication = 'SalesData_Publication',
@description = 'Transactional replication of Sales DB';
-- Настройка подписчика для отчетов
EXEC sp_addsubscription
@publication = 'SalesData_Publication',
@subscriber = 'REPORT_SERVER',
@destination_db = 'SalesData_Reporting';
-- Добавление удаленного подписчика
EXEC sp_addsubscription
@publication = 'GlobalData_Publication',
@subscriber = 'ASIA_SQLSERVER',
@sync_type = 'automatic';
-- Мониторинг задержки репликации
SELECT * FROM sys.dm_repl_commands;
-- Разрешение конфликтов при синхронизации
EXEC sp_addmergearticle
@publication = 'MobileUsers_Publication',
@article = 'Customers',
@conflict_resolver = 'MicrosoftSQL_DateTimeWins';
-- Создание моментального снимка
EXEC sp_startpublication_snapshot
@publication = 'ReferenceData_Publication';
-- Настройка нескольких подписчиков для чтения
EXEC sp_addsubscription
@publication = 'Products_Publication',
@subscriber = 'READ_SERVER1',
@destination_db = 'Products_Replica';
EXEC sp_addsubscription
@publication = 'Products_Publication',
@subscriber = 'READ_SERVER2',
@destination_db = 'Products_Replica';
-- Настройка подписчика для головного офиса
EXEC sp_addmergepullsubscription
@publisher = 'BRANCH_SERVER',
@publication = 'BranchSales_Publication',
@subscriber = 'HQ_SERVER';
-- Проверка состояния репликации
EXEC sp_replmonitorhelppublication;
-- Просмотр нераспространенных команд
EXEC sp_replcounters;
-- Диагностика задержек
SELECT * FROM distribution.dbo.MSrepl_commands;
Не реплицируются:
Требования:
Производительность:
Резюмируем: Репликация в SQL Server — это мощный инструмент для обеспечения высокой доступности, распределения нагрузки и географического распространения данных. Выбор типа репликации зависит от требований к задержке синхронизации, необходимости двустороннего обмена данными и топологии сети. Правильная настройка репликации позволяет создать гибкую и отказоустойчивую архитектуру хранения данных.