Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
база данных.docx
Скачиваний:
167
Добавлен:
24.03.2015
Размер:
5.83 Mб
Скачать

]

Команды синхронизации

Изменения структуры

Дополнип льная реплика БД

Дополнительная репли::э БД

Реплицируемые объекты

Реплицируемые объекты

Рис. 10.36. Синхронизация реплик

После завершения синхронизации изменения, внесенные ь один компо­нент, оказываются внесенными в другой компонент. Обе реплики станоьятся идентичными. Исключение могут составлять локальные объекты. В случалх, когда с< «дается более двух реплик, для упрощения управления поддержани­ем соответствия структур и содержания реплик, синхронизации предпочти­тельно выполнять через основную реплику. В противном случае реплики на­бора быстро «разойдутся» и обеспечить их идентичность будет сложно.

Разумной схемой синхронизации нескольких реплик является выполне­ние синхронизации данных с основной репликой, избетая синхронизации напрямую с друшми дополнительными репликами. При этом все последние изменения БД всегда имеются в основной реплике. Архивирование базы дан­ных лучше свести к архивированию БД основной реплики, а не создавать множество различающихся архивов дополнительных реплик.

Синхронизацию структур набора реплик также целесообразно выполнять через основную реплику. Другими словами, управляй ь набором реплицируе-

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

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

Создание и удаление реплик

Репликацию базы данных Access можно выполнять следующим образом.

•по команде Сервис | Репликация (Tools| Replication)меню Access,

•с помощью программы Проводник;

  • путем вызова Диспетчера репликации пакета Microsoft Office ХР для раз­работчиков;

  • используя специальные объекты. Это могут быть объекты J Ro (Jet and Replication Objects) — для работ ы с базами данных Access, либо объекты доступа к данным DAO (Data Access Objects) — для работы с базами MS Access версии 97 и более ранних.

В первом случае перед созданием основной реплики рекомендуется создать резервную копию исходной БД, так как последняя при репликации будет преобразована. Для создан] [я реплики нужно открыть исходную БД и выдать команду Сервис | Репликация | Создать дополнительную реплику (Tools | Replication | Create Replica).

Система Access выдаст предупреждающее сообщение о закрытии БД. В очередном окне предлагается выбрать вариант да льнейших действий по реп­ликации БД: создавать (Да (Yes)) или не создавать (Нет (No)) резервную ко пию исходной базы данных, отменить репликацию (Отмена (Cancel)) или вызвать справку (Справка (Help)). Если копия уже спздана, следует нажать кнопку Нет (No). Автоматически создаваемая резервная копия исходной БД, если пользователь не изменит ее имя, хранится в той же папке, где и основная БД. Имя файла резервной копии, если пользователь его не изменит, совпада­ет с именем файла исходной БД, а имя фай ia имеет расширение bak.

В очередном окне остается определит ь имя и местоположение основной реплики.

Для создания дополнительной реплики достаточно открыть основную или дополнительную реплику и выдать команду Сервис | Репликация | Создать дополнительную реплику (Tools | Replication | Create Replica). В открыв шемся окне указывается имя и местоположение дополнительной реплики. Таким местом может быть и Портфель (My Briefcase).

Во втором случае репликация БД выполняется из приложения Проводник (Explorer) Вызов процедуры репликации происходит при перетаскивании мышью значка исходной БД из папки в Портфель (My Briercase). Дальней­шие действия пользователя от описанных действий сильно не отличаются.

В отличие от предыдущего случая, здесь одна из реплик остает< я р исход­ной папке, а другач — в папке Портфель (My Briefcase). Пользователю пред­лагается сделать выбор какую из реплик сделать основной, а какую дополни­тельной. Для этого в последнем предлагаемом пользователю окне, называемом Портфель (My Briefcase), необходимо отметить один из переключателей: «ис­ходная копия» (основной репликой считать реплику в исходной папке) либо «копия в портфель» (основной репликой считать реплику в папке Портфель (My Briefcase*).

При установленном пакете Microsoft. Office ХРдля разраоо гчиков диспет­чер реплик позволяет выполнять следующее: управлять большим набором реплик; поддерживать пользователей портативных компьютеров, которые не всегда подсоединены к сети; со давать реплики нескольких баз данных: уста­навливать расписания синхронизации компонентов набора реплик; устранять ошибки и др.

Диспетчер реп лик обеспечивает визуальный интеофейс для преобразова­ния баз данных, создания реплик, просмот ра связей между компонентами набора реплик, а также для установления свойств реплик.

Синхронизация реплик

Синхронизацию реплик можно выполнять при работ41 в Access или в среде Windows.

В первом случае нужно при открытой БД выполнить команду меню Сер­вис | Репликация | Синхронизация (Tools | Replication | Synchronize Now). В появившемся окне синхронизации можно определить место нахождения реплики, с которой требуется синхронизировать открытую БД, а также изме­нить статус одной из реплик набора. Гели текущая реплика обладает права ми основной, то она может легко передать свой статус той реплике, с которой осуществляется синхронизация. Последние, в свою очередь, могут легко пе­редать статус основной другим репликам. Для изменения статуса синхрони­зируемых реплик достаточно отметить мышью флажок напротив предложен­ного системой варианта изменения статуса.

В Windows синхронизация выполняется с помощью системной папки Пор­тфель (My В' defease). Открытие окна портфеля происходит двойным нажа­тием левой кнопки мыши на соответ< твующем ярлыке рабочего стол г.

BF

Окно Портфель (My Briefcase) имеет строку меню, а в основной части содержит список файлов в одноименной папке. Для синхронизации отдель­ных файлов БД их следует отметить мышью с помощью клавиши <Ctrl> и выдать команду Портфель | Обновить (My Briefcase | Update). Находящи - еся в папке Портфель (My Briefcase ^ файлы БД, как отмечалось, могут быть основными и допо мнительными репликами. Появится окно, подобное приве­денному на рис. 10.37.

Обновление Порт фель

|=h-Jih Перечислежые Файлы необходимо обновить. Если нужно изменить операцию обновления для Файла, щелкните правой гнопкой мыш1* н< этом Фай/ и выверите нужную операцию

В Портфеле Не изменен 14.12.2003 1:42

В E:\Documents and.. Изменен 14.12.2003 1:52

4= вменить

Обновить | Отмена |

Рис. 10.37. Окно Обновление Портфель

В зависимости от изменений в каждой паре реплик система предлагает одну из операций синхронизации, основными из которых являются: замена (пере­нос изменений из одной изменившейся реп тики в другую, не подвергшуюся изменениям), объединение (взаимное согласование изменений в репликах), создание (создание реплики в случае, если в папке Портфель (My Briefcase) оказалась обычная БД), пропуск (в списке реплик окна не обрабатывать те­кущую репдику). При же тании с помощью мыши легко можно изменить пред- тоженную операцию обработки любой из реплик.

Чтобы обновить реплики, хранящиеся в папке Портфель (My Briefcase), нужно выполнить команду в папке Портфель | Обновить все (My Briefcase | Update all). Появится окно, аналогичное рассмотренному ранее.

Чтобы разорвать связь одной реплики из папки Портфель (My Briefcase) с другой, нужно выделить в окне Портфель (My Briefcase) эту реп лику БД и чыдать команду Портфель | Отделить от оригинала (My Briefcase | Split From Original). После этого команды обновления для этой реплики становят­

ся недоступными. Синхронизация для этой реплики из Access возможна, но реальные изменения над данными этой реплики не производятся.

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

Если в процессе синхронизации система находит ошибки, пользователю об этом сообщается, а уст раняет ошибки пользователь. Вызвать функцию конт­роля реплик на наличие конфликтов можно явно, задав команду меню Сервис | Репликация | Устранить конфликты (Tools | Replication | Resolve Conflicts)

При обнаружении конфликтов А< cess выводит пользователю окно, содер жащее информацию по устранению конфликтов. С его помощью можно вы яснить причину и найти конфлик гные записи в реп тиках, отобразить пояс­нение методов исправления ошибок.

Сущее твенную роль при разрешении конфликтов в процессе синхронизации имеют приоритеты реплик, которые устанавливаются в момент создания реп лик (кнопка Приоритет (Pnoruy) в окне создания реплики). Приоритеты нахо­дя гея в диапазоне 0- 100, причем большему значению соот ветствует более высо­кий приоритет при разрешении конфликтов. В случае с одинаковыми значениями приоритетов преимущество отдается реплике с наименьшим значением свойства RepJiral D (оно дос гупно то лько для чтения и находится в системной т аблице БД MSvsRepJicas). Если не задавать приоритет во время создания реплики, то по умолчанию создаваемая реплика будет иметь значение приоритета с коэффици­ентом 0.8 от значения приоритета исходной базы, (анных (или реплики).