ms sql in recovery mode

OtherSide
Уже с Приветом
Posts: 15770
Joined: 01 Mar 2008 15:14

ms sql in recovery mode

Post by OtherSide »

Попытался сделать alter column для огромной таблицы в 100 гигабайт. было свободно 150 гиг, потому решил рикунуть. Через минут 40 место кончилось, но запрос продолжал выполнятся. Подождал полчаса и нажал cancel. крутилось rollback часа 3, посмотрел что файлы базы не обновлялись час, т.е. никакого возобновления не протсходит, потому сделал ребут.
Сейчас пишет в recovery mode, но нагугленый скрипт пишет, что прогресс 0% и файлы на диске полчаса не меняются.
в общем вопрос - что делать?
StrangerR
Уже с Приветом
Posts: 38016
Joined: 14 Dec 2006 20:13
Location: USA

Re: ms sql in recovery mode

Post by StrangerR »

Ждать. ВОзможно, часов 20 - 30. Вообще то еще рекомендуется места добавить. Для логов.

(Ах, у вас не виртуалка? Ну тогда извините...)
OtherSide
Уже с Приветом
Posts: 15770
Joined: 01 Mar 2008 15:14

Re: ms sql in recovery mode

Post by OtherSide »

отбой, чуть подождал и пошло. Диск итак на 500 гиг ssd под базу
zVlad
Уже с Приветом
Posts: 15311
Joined: 30 Apr 2003 16:43

Re: ms sql in recovery mode

Post by zVlad »

А о чем был алтер, интересно?
OtherSide
Уже с Приветом
Posts: 15770
Joined: 01 Mar 2008 15:14

Re: ms sql in recovery mode

Post by OtherSide »

money поменять на number - точности не хватает
zVlad
Уже с Приветом
Posts: 15311
Joined: 30 Apr 2003 16:43

Re: ms sql in recovery mode

Post by zVlad »

OtherSide wrote: 14 Jan 2018 21:42 money поменять на number - точности не хватает
Насколько я помню в DB2 это вызвало бы перевод таблицы в restricted status, который в свою очередь должен был быть разрешен через утилиту реогранизации, которая работает через разгрузку данных с последущей загрузкой в новую структуру. Я по памяти пишу, за точность сильно не ручаюсь, просто для поддержки разговора. Кстати, все у Вас закончилось нормально?
alex_127
Уже с Приветом
Posts: 7723
Joined: 29 Mar 2000 10:01
Location: Kirkland,WA

Re: ms sql in recovery mode

Post by alex_127 »

Правило трёх не:
1). Не начинайте то что вы не знаете когда закончится - хотя бы оценить на салфетке худший вариант.
2). Не вырубайте команду котороя сама по ошибке не вырубилась если вы боитесь что это слишком долго - обычно откат годаздо длиннее.
3). Не рестартуйте базу если вы не понимаете как точно работает рековери .
OtherSide
Уже с Приветом
Posts: 15770
Joined: 01 Mar 2008 15:14

Re: ms sql in recovery mode

Post by OtherSide »

да, нормально
User avatar
Dmitry67
Уже с Приветом
Posts: 28294
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

Re: ms sql in recovery mode

Post by Dmitry67 »

На будущее
Прогресс рековери в процентах виден в логе
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
User avatar
Dmitry67
Уже с Приветом
Posts: 28294
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

Re: ms sql in recovery mode

Post by Dmitry67 »

И еще на будущее.
Так как с файлами MS SQL работает на более низком уровне, метка файловой системы о времени последнего доступа некорректна и не обновляется MS SQL. Часто это просто время открытия файла, то есть старта MS SQL
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
OtherSide
Уже с Приветом
Posts: 15770
Joined: 01 Mar 2008 15:14

Re: ms sql in recovery mode

Post by OtherSide »

в логах было написано ждать 100500 часов и прогресс 0%, который стоял полчаса, что и смутило. Место на диске тоже не менялось
User avatar
Dmitry67
Уже с Приветом
Posts: 28294
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

Re: ms sql in recovery mode

Post by Dmitry67 »

Часто перелить быстрее в таких случаях, когда изменяются типы или изменяется физическая длина

Добавление новых null колонок или изменение размера varchar к этому не относится

Но если вы добавите новую колонку null, что произойдет почти мгновенно, а потом пойдете по ней update, заполняя значения, то снова можете столкнуться с ситуацией, когда перелив быстрее
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
OtherSide
Уже с Приветом
Posts: 15770
Joined: 01 Mar 2008 15:14

Re: ms sql in recovery mode

Post by OtherSide »

да думаю придется перелив, причем не разом, а частями

Return to “Вопросы и новости IT”