Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Поддержка Integrity в двух базах: какой метод выбрать?  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Версия сервера >=2008 и ориентация на Express

Есть таблицы мастер-детайл.

В базе 1 остается мастер таблица, детайл таблица переносится в базу2

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

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

Какие еще методы возможны?
11 авг 15, 15:02    [18003699]     Ответить | Цитировать Сообщить модератору
 Re: Поддержка Integrity в двух базах: какой метод выбрать?  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10232
Блог
change tracking
11 авг 15, 15:04    [18003713]     Ответить | Цитировать Сообщить модератору
 Re: Поддержка Integrity в двух базах: какой метод выбрать?  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Knyazev Alexey
change tracking


ага, а чуть подробнее?
11 авг 15, 15:06    [18003725]     Ответить | Цитировать Сообщить модератору
 Re: Поддержка Integrity в двух базах: какой метод выбрать?  [new]
хе-хе )
Guest
Winnipuh,
Включаешь отслеживание изменений на нужные таблицы. Я для удобства в каждую _CT таблицу добавил identity и признак, что забирал запись. Далее делаю представление, отбирающие нужные изменения из _CT (последняя операция по сущности, которую еще не забирал, например). И все. БД2 читает представление, забирает данные и проставляет признак этого
11 авг 15, 15:59    [18004033]     Ответить | Цитировать Сообщить модератору
 Re: Поддержка Integrity в двух базах: какой метод выбрать?  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
хе-хе )
Winnipuh,
Включаешь отслеживание изменений на нужные таблицы. Я для удобства в каждую _CT таблицу добавил identity и признак, что забирал запись. Далее делаю представление, отбирающие нужные изменения из _CT (последняя операция по сущности, которую еще не забирал, например). И все. БД2 читает представление, забирает данные и проставляет признак этого


Так понятно, если есть обратная связь из БД2->БД1, но вопрос "БД2 читает представление" - как, кто возбуждает?

В случае триггера в мастере - ясно, на срабатывании делаем что-то в удаленной подчиненной таблице.
11 авг 15, 16:19    [18004123]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить