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

Откуда: Украина
Сообщений: 334
Привет всем, есть такой вопрос. Я организовываю связь между двумя бд sql 2012 своими скриптами.

Представьте теперь некую Таблицу А в двух БД.

Табл1 А
ID Имя Уровень готовности
10000000 Имя1 0


И такую же по структуре таблицу А в БД 2, но пустую.

Теперь я думаю как реализовать такой алгоритм.

Пользователь БД1 ставит уровень готовности 1 в какой-то записи.
Раз в 5 минут БД-2 делает проверку если записи с уровнем готовности 1.
Если есть то начинается то, что вызывает у меня вопросы.

Транзакция {
Выбрать все записи с готовностью 1 в БД 1 (только при вставке изменить уровень готовности на 2)
Вставить их в БД2
Обновить эти записи в БД1 до уровня готовности 2

COMIT

если что-то не так пошло то ROLLBACK
}

Зачем нужна транзакция? Всё просто интернет не стабильный очень. Если он пропадёт во время транзакции то всё должно откатиться назад.

Что вы думаете, в нужную ли я сторону мыслю?
20 авг 16, 15:36    [19567396]     Ответить | Цитировать Сообщить модератору
 Re: Одновременная запись в 2 базы данных в рамках одной транзакции  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31780
Kimel
Зачем нужна транзакция? Всё просто интернет не стабильный очень. Если он пропадёт во время транзакции то всё должно откатиться назад.
Так вопрос то в чём? Сиквел поддерживает распределённые транзакции. Да, если на каком то этапе будет ошибка, и вы вызовете rollback, то всё откатится.
21 авг 16, 19:17    [19570382]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить