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

Откуда:
Сообщений: 214
После UPDATE

Если судить по SELECT'у c (nolock)ом, то откат будет длиться месяцы!... 😱

killl with statusonly возвращает 0%

Вопросы:

1. Можно ли верить такому SELECT'у?
2. Можно ли понять примерное время завершения отката?
3. Можно ли как-то его ускорить?
4. Что будет, если не дождаться его? (server restart, ALTER DATABASE xxx SET SINGLE_USER WITH ROLLBACK IMMEDIATE...)
19 апр 18, 19:49    [21352983]     Ответить | Цитировать Сообщить модератору
 Re: Откатывается большая транзакция...  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36965
1. Почему нет?
2. Вы же уже два способа нашли.
3. До многопоточного undo MSSQL еще не дорос, так что маловероятно. Но помониторить ожидания откатываемой сессии все же стоит, может вылезет чего интересное.
4. После рестарта сервер продолжит откат на третьей фазе recovery. И, может быть даже, с самого начала.

Сообщение было отредактировано: 19 апр 18, 20:02
19 апр 18, 19:58    [21352997]     Ответить | Цитировать Сообщить модератору
 Re: Откатывается большая транзакция...  [new]
hnkovr
Member

Откуда:
Сообщений: 214
+ in telegram

https://t.me/sqlcom/94648

tg://resolve?domain=sqlcom&post=94648
19 апр 18, 20:04    [21353003]     Ответить | Цитировать Сообщить модератору
 Re: Откатывается большая транзакция...  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7752
hnkovr,

откат идет 1-2 времени наката.
20 апр 18, 13:21    [21354497]     Ответить | Цитировать Сообщить модератору
 Re: Откатывается большая транзакция...  [new]
flexgen
Member

Откуда: Город на песке
Сообщений: 773
hnkovr
После UPDATE

Если судить по SELECT'у c (nolock)ом, то откат будет длиться месяцы!... 😱

killl with statusonly возвращает 0%

Вопросы:

1. Можно ли верить такому SELECT'у?
2. Можно ли понять примерное время завершения отката?
3. Можно ли как-то его ускорить?
4. Что будет, если не дождаться его? (server restart, ALTER DATABASE xxx SET SINGLE_USER WITH ROLLBACK IMMEDIATE...)


У нас однажды потребовали отменить транзакцию после 4 часов работы, работал merge partition. Как я ни пытался отговорить свое начальство - уперлись рогом в землю, отменяй и все. Отменили , начался rollback. Через час снова ко мне - перегружай инстанс, говорю - не надо, ничем не поможет, надо ждать завершения. Не уговорил. В итоге rollback работал 9 часов. Был во всем этом плюс - после всего случившегося получил дополнительные диски, вместо merge partition работает switch-truncate-merge, работает ровно секунду.

Так что в твоем случае только ждать. И на будущее попытаться сократить время UPDATE.
21 апр 18, 18:07    [21357107]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить