Программирование >>  Программирование баз данных 

1 ... 242 243 244 [ 245 ] 246 247 248 ... 346


В случае конфликта применяемый по умолчанию агент публикации предпочитает сохранить данные издателя, а не данные клиента. Это поведение можно изменить, чтобы предпочтения определялись с учетом того, какие изменения внесены последними по времени, а также с учетом других заранее подготовленных кри- терпев. Кроме того, предусмотрена возможность реализовать пользовательские f алгоритмы разрешения конфликтов на основе сколь угодно сложных правил разрешения конфликтов.

Теперь проверим подготовленную систему транзакционной репликации путем внесения изменений в данные. Вначале рассмотрим, каковым является исходное значение строки, в которую намечено внести изменения:

SELECT aw.FirstName AS PubFirst,

aw.LastName AS PubLast,

aws.FirstName AS SubFirst,

aws.LastName AS SubLast FROM AdventureWorks.Person.Contact aw JOIN AWSubscriber.Person.Contact aws

ON aw.ContactID = aws.ContactID WHERE aw.ContactID =18

В приведенном выше операторе выполнено соединение таблиц из разных баз данных, чтобы можно было ознакомиться одновременно с данными издателя и подписчика. Это позволяет с помощью одного запроса узнать, что содержится и в исходной, и в целевой базах данных. При первом выполнении этого сценария (до внесения каких-либо изменений) можно ознакомиться с начальными значениями и убедиться в том, что они действительно одинаковые: PubFirst PubLast SubFirst SubLast

Anna Albright Anna Albright

(1 row(s) affected)

Теперь приступим к внесению изменений. Предположим, что сотрудница Anna вышла замуж и сменила свою фамилию naAlbright-Smith: USE AdventureWorks

UPDATE Person.Contact

SET LastName = Albright-Smith

WHERE ContactID = 18

После этого снова вызовем на выполнение показанный перед этим оператор SELECT, чтобы проверить полученные результаты: PubFirst PubLast SubFirst SubLast

Anna Albright-Smith Anna Albright-Smith

(1 row(s) affected)

Вполне очевидно, что обновления поступили и в базу данных издателя, и в базу данных подписчика.

Теперь немного откорректируем сценарий, чтобы он выполнялся в базе данных подписчика, и рассмотрим, что произойдет в базе данных издателя. На этот раз вернем сотруднице Anna прежнюю фамилию (возможно, она передумала выходить замуж): USE AWSubscriber



UPDATE Person.Contact SET LastName = Albright WHERE ContactID =18

После этого еще раз выполним приведенный выше оператор SELECT: PubFirst PubLast SubFirst SubLast

Anna Albright Anna Albright

(1 row(s) affected)

И в этот раз изменения обнаруживаются в обеих базах данных.

Таким образом, подтверждено, что изменения проходят в обоих направлениях и распространяются с помощью системы репликацрш немедленно, поскольку выбрана транзакционная репликация с немедленным обновлением подписчиков. При использовании других вариантов настройки системы репликации могла бы появиться задержка, или, возможно, репликация не происходила бы вообще без применения какой-либо формы вмешательства вручную. Обязательно ознакомьтесь со всеми типами репликации (описанными выше в данной главе), чтобы изучить все нюансы каждого из этих типов.

Объекты управления репликацией (RMO)

Объекты управления репликацией, или сокращенно RMO (Replication Management Objects), представляют собой новую объектную модель .NET, которая заменяет относящуюся к репликации часть объектной модели DMO (Distributed Management Objects- объекты распределенного управления), основанной на инфраструктуре СОМ, которая использовалась в SQL Server 2000 и более ранних версиях. Объектную модель RMO можно рассматривать как своего рода дополнение к объектной модели SMO (SQL Management Objects - объекты управления SQL), которая будет подробно описана в главе 25.

Объектная модель RMO предоставляет программный доступ к любой составляющей процесса создания и настройки конфигурации системы репликации на основе любого языка .NET. В качестве примеров использования модели RMO может служить автоматизация операций, подобных приведенным ниже.

Создание и настройка публикации. Для определения публикаций можно использовать объекты Repl i cat ionDat abase, a также объекты Trans Publication или MergePublication.

Добавление и удаление статей. Добавление и удаление статей публикации поддерживает объект TransArticle. Кроме того, предусмотрена возможность вводить критерии выборки данных столбцов или определять свойство FilterClause для задания критериев выборки строк, подлежащих репликации.

Повторная репликация снимка.

Эти примеры относятся к числу наиболее широко используемых. Но модель RMO позволяет также вводить в действие, модифицировать или удалять любую составляющую процесса репликации.



Чтобы получить возможность использовать модель RMO в программе Visual Studio, нужно добавить ссылку на библиотеку Microsoft. SqlServer.Replication .NET Programming Interface, a потом задать директивы include, imports или using для библиотеки Microsoft. SqlServer .Replication. Как и при использовании любых других библиотек управления, которые поддерживают СУБД SQL Server, может также потребоваться ссылка на библиотеку Microsoft. SqlServer. Connect ioninf о.

Пример прможения, в котором применяется RMO для создания той же публикации, которая была создана ранее в этой главе с помощью графического интерфейса, можно загрузить с Web-сайта Wrox или prof essionalsql. com.

Резюме

Очевидно, что объем этой главы довольно большой, но в действительности в ней представлена лишь вводная информация о репликации. Разумеется, все сведения, касающиеся подготовки системы репликации к работе, приведены практически в полном объеме, но возможности репликации настолько велики, что их описанию посвящены целые книги. И действительно, чтобы создать модель репликации, в наибольшей степени подходяшую для сложных сценариев, необходимо учесть очень много различных факторов. Тем не менее информация, приведенная в настоящей главе, позволяет найти правмьное решение в подавляющем большинстве ситуаций, которые могут встретиться на практике. А с остальными трудностями помогут справиться время и опыт.

В целом данная глава позволяет узнать о том, какие общие проблемы мог)а быть решены с помощью репликации и каким образом следует организовать работ) системы репликации, учитывая требования к созданию топологии и общей архитектуры системы (и в том числе специальные требования к репликации).

В следующей главе будет рассматриваться еще одна область применения SQL Server, выходящая за рамки обычных средств, - полнотекстовая индексация.



1 ... 242 243 244 [ 245 ] 246 247 248 ... 346

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика