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

Откуда: Питер
Сообщений: 55
Все привет,

-Есть некая таблица DATABASE.TABLE.

-Есть таблица OTHER_DATABASE.HISTORY_TABLE, которая содержит данные об изменениях в таблице TABLE.
Причем эта таблица содержит денормализованные данные (заполняется селектом из TABLE с джойнами на другие таблицы).
(!!!Таблица OTHER_DATABASE.HISTORY_TABLE находится в другой базе - OTHER_DATABASE - так надо).

Мы думаем, что у нас есть две опции:
- заполнять таблицу OTHER_DATABASE.HISTORY_TABLE в триггере таблицы DATABASE.TABLE.
- заполнять таблицу OTHER_DATABASE.HISTORY_TABLE некой джобой, которая будет периодически запускаться.

Вопросы:
- какая опция лучше?
- какие могут быть проблемы при варианте с триггером? Базы данных все-таки разные... возможны ли блокировки при транзакциях и т.п. Вроде бы с триггером решение проще, а данные будут актуальнее.

Спасибо.
22 июл 13, 15:58    [14599835]     Ответить | Цитировать Сообщить модератору
 Re: Trigger обновляет таблицу в другой базе.  [new]
Сергей Викт.
Member

Откуда: Москва
Сообщений: 888
Shrek2
Все привет,

-Есть некая таблица DATABASE.TABLE.

-Есть таблица OTHER_DATABASE.HISTORY_TABLE, которая содержит данные об изменениях в таблице TABLE.
Причем эта таблица содержит денормализованные данные (заполняется селектом из TABLE с джойнами на другие таблицы).
(!!!Таблица OTHER_DATABASE.HISTORY_TABLE находится в другой базе - OTHER_DATABASE - так надо).

Мы думаем, что у нас есть две опции:
- заполнять таблицу OTHER_DATABASE.HISTORY_TABLE в триггере таблицы DATABASE.TABLE.
- заполнять таблицу OTHER_DATABASE.HISTORY_TABLE некой джобой, которая будет периодически запускаться.

Вопросы:
- какая опция лучше?
- какие могут быть проблемы при варианте с триггером? Базы данных все-таки разные... возможны ли блокировки при транзакциях и т.п. Вроде бы с триггером решение проще, а данные будут актуальнее.

Спасибо.

Многое зависит от частоты вставки данных, от критичности по времени отображения обновленных данных в History и многих других факторов.
22 июл 13, 16:04    [14599880]     Ответить | Цитировать Сообщить модератору
 Re: Trigger обновляет таблицу в другой базе.  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31438
[quote Shrek2]Вроде бы с триггером решение проще, а данные будут актуальнее.[/quoteЕсли базы на одном сервере, то триггер, если на разных, то нужно подумать о джобе.
22 июл 13, 21:51    [14601219]     Ответить | Цитировать Сообщить модератору
 Re: Trigger обновляет таблицу в другой базе.  [new]
SIMPLicity_
Member

Откуда: (((@)))
Сообщений: 8727
В случае отката транзакции простая вставка (тригером, в "следящую" таблицу) не зафиксирует данных, которые НЕ "прошли" в результате отката...
23 июл 13, 01:58    [14601890]     Ответить | Цитировать Сообщить модератору
 Re: Trigger обновляет таблицу в другой базе.  [new]
Shrek2
Member

Откуда: Питер
Сообщений: 55
SIMPLicity_
В случае отката транзакции простая вставка (тригером, в "следящую" таблицу) не зафиксирует данных, которые НЕ "прошли" в результате отката...

Не очень понятно, "кто на ком стоит"...

Видимо вы имели ввиду, что если по какой-то причине не прокатит вставка из триггера в хистори таблицу, то и в основную не запишется.
В-общем, думается, будет у нас джоба.
23 июл 13, 11:27    [14602920]     Ответить | Цитировать Сообщить модератору
 Re: Trigger обновляет таблицу в другой базе.  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
[quot alexeyvg]
Shrek2
Вроде бы с триггером решение проще, а данные будут актуальнее.[/quoteЕсли базы на одном сервере, то триггер, если на разных, то нужно подумать о джобе.


или о брокере
23 июл 13, 12:28    [14603385]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить