• Бесплатный ВЕБИНАР по OSINT с Екатериной Тьюринг: ➡️9 февраля в 19:00 (мск) пройдет урок

    Как безопасно искать информацию в открытых источниках

    🔥 Записаться 🔥

Селективная репликация баз

  • Автор темы Автор темы deeeman
  • Дата начала Дата начала
D

deeeman

Добрый день!

Есть 2 сервера в домене. Есть база на главном и реплика базы на втором сервере.
Требуется настроить реплицирование так что в главную базу попадали только определенные документы из второй базы, а во вторую вообще ничего не должно попадать из первой.

вколбашиваю формулу отбора в настройках репликации у базы (правой кнопкой по базе, Replication- sittings - Advanced - ставлю галочку Documents by Selection formula и вставляю формулу)

Запускаю вручную репликацию главной бд (правой кнопкой по базе, Replication-Replicate, выбираю вторую бд, ок )

те документы которые были указаны в формуле скопировались в главную, а вот все остальные документы были УДАЛЕНЫ ((((

почему так происходит?
что то с правами доступа?
 
предположительно (нужно тестить):
1) нужная формула репликации с второго на главный;
2) второй сервер инициирует репликацию (причем только этой базы! настраивается в сервер-сервер документе соединения, в серверной адреске) в режиме толкать;
3) второй сервер не имеет права удалять документы в реплике на главном сервере;
4) первый сервер не должен инициировать репликацию этой БД со вторым;
5) никогда не реплицируй документы между серверными репликами ВРУЧНУЮ! только через консоль.

читай "Inside Notes", это книга такая :gifts:
 
5) никогда не реплицируй документы между серверными репликами ВРУЧНУЮ! только через консоль.
естественно, вручную под учеткой пользователя(в данном случае админа?) возможно получить совершенно иной, отличный от сервера эффект...
 
Klido
было бы не плохо, если бы остальные пункты ты тоже прокомментировал или дал свой вариант настройки репликации :gifts:
 
Akupaka
в остальных пунктах всё нормально :gifts:
п.5 - в данном случае ключевой, если даже все предыдущие пункты настроены верно...
 
про 5 пункт: вписываешь свою учетку в адресной книге как full access и реплицируешь сколько хочешь без проблем помоему....


а если сделать так:

т к первый сервер у нас рулит с мегаправами, то

1. настроить репликацию с первого на второй в режиме втягивать (Pull Only)
2. Формулу отбора сделать на первой бд

будет ли это правильно?
 
ясно...

дак все таки будет ли правильно сделать?

1. настроить репликацию с первого на второй в режиме втягивать (Pull Only)
2. Формулу отбора сделать на первой бд

?
 
1.
т к первый сервер у нас рулит с мегаправами
у него и так, наверное, задач много? теоретически грамотнее распределить нагрузку по созданию и запуску события репликации на второстепенные сервера...
2. Тут всё зависит от п.1 :gifts:
 
да на загрузку сервера вообще начихать, главное чтобы лишнего не поудаляло...
 
3) второй сервер не имеет права удалять документы в реплике на главном сервере;
вообще вот этот пункт..

ну а глубже - например, когда в центре надо хранить полную версию базы, а в филиалах только своё - использовать доступ на уровне авторских полей (и соотвтетствующей настройке ACL для конкретного сервера), прописывая в каждый конкретный документ конкретный же сервер, на которм он создан... тогда он к чужим докам вообще не будет иметь возможности доступа на изменение/удаление
 
..
те документы которые были указаны в формуле скопировались в главную, а вот все остальные документы были УДАЛЕНЫ ((((

почему так происходит?
что то с правами доступа?
Всё правильно, так и должнО быть:
Если на сервере-источнике есть БОЛЕЕ НОВЫЙ док-т, которого на сервере-приёмнике быть не должно (в соотв. с формулой ИЛИ Readers-полем) - он будет удалён (причём без "окурка")
 
Всем привет!
Дабы не писать новый топик, опишу свой вопрос здесь...

Есть у меня оригинальная БД (назовем ее образно БД1) на первом сервере (СЕРВ1), она в кластере (БД2) с сервером 2 (СЕРВ2).
Далее, мне нужно создать еще одну реплику БД3 на СЕРВ1, но чтобы в БД3 попадали все документы, но не полностью весь документ, а только некоторые его поля. А, еще.., должны реплицироваться только документы(!!!) ACL, дизайн и прочее - реплицироваться не должно!
Тобишь, БД1 и БД2, спокойненько должны себе реплицроваться в кластере (документы, дизайн, агенты, ACL и прочее), а вот в БД3 должны попадать только измененные документы(!!!) с ограниченным набором полей. Обратно, БД3 ничего не должна отдавать - ни документы, ни дизайн, ни ACL - ничего(!!!)

Что я пытался сделать...
Из БД2 на СЕРВ2 создаю реплику для БД3 на СЕРВ1. (Replica ID у всех трех БД одинаковая, но если надо, то в третьей можно поменять)
В свойствах репликации БД3 отключаю обновления дизайна, агентов, АЦЛ... оставляю только обновления полей и в списке выбираю нужные мне поля.
В Connections, настраиваю:
Source server - СЕРВ1;
Destination server - СЕРВ2;
Files/Directory path to replicate - указываю путь и название БД3;
Replication Type - Pull Only.

Что у меня в итоге получается:
Проходит репликация, и в БД2 обновляется дизайн из БД3... в БД1 дизайн же остается прежним.
Набор полей реплицируется вроде правильно.
Если отключить в БД2 обновление дизайна в свойствах репликации, то он тогда не будет обновляться с БД1.

Что я делаю не так, что мне надо сделать по-другому?
В админке, я ни "бум-бум" :'(
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!