Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Экстренное завершение транзакции  [new]
Алекс1990
Guest
Добрый день. Всем известно что к любой транзакционной системе есть требования ACID, первым постулатом которых является атомарность. Исходя из которой транзакция может быть зафиксирована только целиком, частичная фиксация не допускается.

Мой вопрос связан с тем, как sql server обеспечивает выполнение rollback'а, при непредвиденной остановки работы сервера. Например, у сервера отключилось питание. Но на момент отключения в сервере работала транзакция, которая модифицировала данные, накладывала X-блокировки и все такое. Но вдруг он вырубился, соответсвенно программно выполнить rollback невозможно.

Исходя из чего он может откатить те изменения, которые успела внести транзакция ? Это произойдет когда сервер включат ? Или реальные данные не будут изменены до момента фиксации, а где-то будут закешированы ?(в последнее не верю, но все-же)
4 сен 13, 11:01    [14792928]     Ответить | Цитировать Сообщить модератору
 Re: Экстренное завершение транзакции  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2414
Алекс1990,

http://msdn.microsoft.com/ru-ru/library/bb545450.aspx
4 сен 13, 11:08    [14792971]     Ответить | Цитировать Сообщить модератору
 Re: Экстренное завершение транзакции  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Есть такая штука - лог транзакций. Вот по нему все незафиксированные транзакции и откатятся. Естественно, все это произойдет, когда сервер включат.
4 сен 13, 11:10    [14792980]     Ответить | Цитировать Сообщить модератору
 Re: Экстренное завершение транзакции  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Алекс1990,

Вот тут почитайте: Журнал транзакций с упреждающей записью.
4 сен 13, 11:21    [14793033]     Ответить | Цитировать Сообщить модератору
 Re: Экстренное завершение транзакции  [new]
baracs
Member

Откуда: Москва
Сообщений: 7217
StarikNavy
Алекс1990,

http://msdn.microsoft.com/ru-ru/library/bb545450.aspx
Послала, так послала! (c)

Алекс1990
Уточнение: Структура журнала транзакций

Собственно, ответ на ваш вопрос содержится в разделе "Контрольные точки и активная часть журнала".
4 сен 13, 11:22    [14793041]     Ответить | Цитировать Сообщить модератору
 Re: Экстренное завершение транзакции  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2414
кстати, на этой же неделе ссылку приводили:
http://www.sqlcmd.ru/trans_log_internals-part01.html
4 сен 13, 11:23    [14793053]     Ответить | Цитировать Сообщить модератору
 Re: Экстренное завершение транзакции  [new]
Алекс1990
Guest
Всем спасибо, что хотел - узнал :)
4 сен 13, 11:35    [14793144]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить