
Лекция 9. Репликации
Одним из важнейших элементов системы SQL Server является служба репликации данных.
Следует подчеркнуть, что служба репликации является составной частью стандартной версии SOL Server, поскольку поставщики других СУРБД рассматривают средства репликации как отдельный продукт, за который необходимо вносить дополнительную плату.
По сути, репликация является службой, осуществляющей гарантированное копирование информации из исходной базы данных в одну или более целевых. Средства репликации Microsoft SQL Server позволяют организовать автоматическую рассылку данных некоторого сервера на несколько других серверов с использованием ODBC (Open Database Connectivity— открытый интерфейс баз данных) или OLE DB. Используя средства ODBC или OLE DB, SQL Server 2000 обеспечивает репликацию данных в адрес получателей, не относящихся к системам SQL Server (смешанная репликация), например Microsoft Access и Oracle. Поддерживаются также анонимные подписчики в Internet. Кроме того, SQL Server 2000 позволяет непосредственно обновлять подписчиков и осуществлять репликацию методом слияния, что существенно расширяет возможности репликации.
С учетом нововведений количество возможных вариантов решений, доступных при создании приложений, становится просто ошеломляющим!
Перечислим приложения или сценарии, в которых могут применяться средства репликации SQL Server.
• Для распределения нагрузки между серверами в сети (например, для передачи
произвольных запросов или отчетов на обработку серверу, отличному от исходного).
• Для перемещения определенных поднаборов данных (например, данных некоторого подразделения или данных за установленный период) с главного цен
трального сервера на вспомогательные.
• При наличии в системе центральной обновляемой базы данных, когда вносимые в нее изменения должны передаваться в другие базы данных (например,
если отдел сбыта изменяет цену на определенную продукцию).
• В приложениях, используемых торговыми агентами или представителями для
автономной работы на переносных компьютерах, если внесенные ими изменения должны передаваться на центральный сервер при очередном подключении
их компьютеров к сети.
• Для организации в Web группы пользователей с помощью приложения, позволяющего благодаря функции подписки периодически извлекать через Internet
сведения об изменениях в общей базе данных.
• В распределенных вычислительных средах, в которых серверы импортируют
информацию из файлов с ее дальнейшей репликацией на другие узлы.
Публикация и подписка
В системе репликации SQL Server используются понятия публикация (publish) и подписка (subscribe). Серверы системы публикуют свои данные (публикации), на которые могут подписаться другие серверы. В среде SQL Server сервер, который делает свои данные доступными для подписки со стороны других серверов, называется публикующим.
Публикации и статьи
Публикующий сервер предоставляет набор из одной или более статей, называемый публикацией (publication). Публикация, включает выбранные таблицы. Термин статья (article) используется по отношению к базовым объектам репликации, которые могут представлять собой отдельную таблицу, некоторую часть таблицы или хранимые процедуры.
Каждая публикация может содержать один или более перечисленных ниже элементов.
• Таблица.
• Вертикальное разделение таблицы.
• Данные хранимой процедуры (новая функция в SQL Server 2000).
• Горизонтальное разделение таблицы.
• Горизонтальное и вертикальное разделение таблицы
Вертикальное разделение таблицы представляет собой статью, в определении которой используется фильтр, выделяющий в таблице только заданные столбцы.
Горизонтальное разделение таблицы представляет собой статью, в определении которой используется фильтр, выделяющий в таблице только заданные строки данных.
Однако существуют объекты, которые не могут публиковаться.
• Базы данных model, tempdb и msdb.
• Системные таблицы, расположенные в базе данных master.