Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Winnipuh Member [заблокирован] Откуда: Київ Сообщений: 10428 |
Версия сервера >=2008 и ориентация на Express Есть таблицы мастер-детайл. В базе 1 остается мастер таблица, детайл таблица переносится в базу2 Хотелось бы поддерживать целостность,как минимум делать каскадное удаление подчиненных записей, поскольку добавление будет делаться на основании мастер-записи, вероятность появления фантомов в подчиненной есть, но минимальна. Сделал триггер на удаление в мастер таблице, в нем делается удаление в подчиненной таблице в базе 2. Есть мысль сделать брокером: засылать из триггеров месыджи в другую базу и там отрабатывать триггеры. Какие еще методы возможны? |
11 авг 15, 15:02 [18003699] Ответить | Цитировать Сообщить модератору |
Knyazev Alexey Member Откуда: Екб -> Мск Сообщений: 10232 Блог |
change tracking |
11 авг 15, 15:04 [18003713] Ответить | Цитировать Сообщить модератору |
Winnipuh Member [заблокирован] Откуда: Київ Сообщений: 10428 |
ага, а чуть подробнее? |
||
11 авг 15, 15:06 [18003725] Ответить | Цитировать Сообщить модератору |
хе-хе )
Guest |
Winnipuh, Включаешь отслеживание изменений на нужные таблицы. Я для удобства в каждую _CT таблицу добавил identity и признак, что забирал запись. Далее делаю представление, отбирающие нужные изменения из _CT (последняя операция по сущности, которую еще не забирал, например). И все. БД2 читает представление, забирает данные и проставляет признак этого |
11 авг 15, 15:59 [18004033] Ответить | Цитировать Сообщить модератору |
Winnipuh Member [заблокирован] Откуда: Київ Сообщений: 10428 |
Так понятно, если есть обратная связь из БД2->БД1, но вопрос "БД2 читает представление" - как, кто возбуждает? В случае триггера в мастере - ясно, на срабатывании делаем что-то в удаленной подчиненной таблице. |
||
11 авг 15, 16:19 [18004123] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |