• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Репликация ...

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

DNT

Условие: есть "главная" БД в центральном офисе, есть реплики этой БД на удаленных серверах в других регионах.

Задача: сделать так, чтобы базы в регионах при репликации получали/обновляли только документы предназначенные им. Причем роли наверно не прокатят, так как защиться нужно и от регионального администратора с full access. :unsure:

Спрашиваю совета откуда копать, так как сам в вопросах реплик плаваю конкретно. :blink:
Спасибо.
 
K

Kee_Keekkenen

я обычно использую поле, в котором содержатся имена центральных серверов, где хранятся все данные и еще имя филиального сервера..
для общих документов, т.е. тех что должны реплицироваться везде (общие справочники) это поле пусто..
т.о. на центральных серверах ничего не стоит в настройках репликации (в смысле нет формулы) - все реплицируется,
и соответственно, филиальная формула SELECT поле = "":"имя сервера" (или более жесткий вариант
SELECT @Contains(поле;"имя сервера") | поле="")

до кучи есть агент по расписанию, который проверяет правильность формулы и исправляет ее...
 
D

DNT

Для: Kee_Keekkenen

спасибо - доступно объяснили.
А формула задается в Replication - Advansed?

И ещё вопрос: а с дизайном как быть? - он мне нужен одинаковый везде...
Вот есть сейчас база на главном сервере. Мне надо делать New Copy или New Replica? Как правильно?
 
K

Kee_Keekkenen

да там, галка Documents by selection formula и в поле ниже пишешь формулу..
что касается дизайна, то должны быть проставлены четыре галки (там же):
Design elements, Agents, Access control list, Deletions..
они по умолчанию и стоят..

если реплику, то New replica..

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

serEJa Shabalin

SELECT @Contains(поле;"имя сервера") | поле="")

до кучи есть агент по расписанию, который проверяет правильность формулы и исправляет ее...

а можно еще SELECT @Contains(поле; @ServerName) | поле="") если не хочется плодить view под каждый сервер. Т.к индекс вычисляется на сервере проблем с индексацией не должно быть.
 
30.05.2006
1 345
12
BIT
0
Селективную репликацию народ недолюбливает. Раньше она сурово глючила. Но и без глюков можно получить весьма неожиданные, хотя и предсказуемые эффекты.
Недавно я к ней вернулся. Формулы вычисляются роботом в центре. Работает.
НО: никак не могу выдрессировать админов, что-б при установке базы в новые филиалы они в новых репликах включали разрешение реплицировать формулы (при создании реплики оно автоматом выключено).

Альтернатива формулам селективной репликации: поле типа READERS с именем дочернего сервера
 
30.05.2006
1 345
12
BIT
0
Хе.. Эт я должен иметь право выполнять restricted агенты на ВСЕХ серверах? Ни один программер у нас такого не имеет...
 
K

Kee_Keekkenen

да, restricted.. ну, необязательно чтоб это исполнялось от вашего имени..
 
Мы в соцсетях:

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