|
БД в процессе восстановления
|
|||
---|---|---|---|
#18+
Был большой объем данных (2 млрд строк в 30 тыс csv файлах). Из них нужно было вытащить некую инфу. Я развернул локально mssql сервер на терробайтовом hd, создал БД Simple no recovery и через bulk insert все это загрузил в 2 таблицы - одна 200ГБ, другая 400ГБ. Дальше я решил перелить данные из одной таблицы (которая 200ГБ) в другую через insert into t1 select * from t2, предполагалось, что места мне хватит и я просто потом напишу truncate table на 200ГБ таблицу. Но внезапно журнал логов жутко разбух и кончилось место на диске, и я нажал отмена запроса в SSMS. У меня все повисло, я испугался и со страху перезапустил сервер. Теперь моя база в режиме восстановления. Воспользовавшись скриптом на форуме мне показывает, что осталось до окончания recovery 40 часов. Так как я полный нуб, а по работе аналитик возникли вопросы: 1. Вернется ли БД к тому состоянию до того как я запустил insert into после окончания recovery? или что нужно для этого сделать 2. Что он там восстанавливает, если БД у меня simple no recovery и если смысл мне ждать окончания 3. Как мне соединить эти 2 таблицы, без разрастания лога? UPD: я добавил памяти серваку и теперь до окончания recovery осталось 4 часа, если это как-то связано. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 19:46 |
|
БД в процессе восстановления
|
|||
---|---|---|---|
#18+
1. Должна. Надо всего лишь подождать. 2. Транзакции логируются (и откатываются, если не закомичены) полностью. Вне зависимости от модели восстановления. А кроме опции "ждать" у вас есть только одна опция - удалить базу и начать все заливки сначала. 3. Не делать больших транзакций, а перелить мелкими порциями или любой балкер (хоть мастер импорта-экспорта). Или сразу импортировать все в одну таблицу. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 19:52 |
|
БД в процессе восстановления
|
|||
---|---|---|---|
#18+
NoobInDB, Если у вас таблица - куча. То выполняли ли вы insert select с зинтом tablock? Если нет то у вас было полное логирование и тогда понятно откуда у вас вырос лог. Имейте это ввиду. Можно правда еще использовать флаг трассировки ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2020, 00:32 |
|
|
start [/forum/topic.php?fid=46&gotonew=1&tid=1686375]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
9ms |
get first new msg: |
7ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
others: | 320ms |
total: | 456ms |
0 / 0 |