Измените модель восстановления базы данных на простую, пока она находится в производстве - PullRequest
0 голосов
/ 02 мая 2018

У меня есть рабочая база данных, и я хотел бы запустить процесс ETL, чтобы УДАЛИТЬ некоторые записи (200 миллионов) базы данных, но, поскольку база данных находится в ПОЛНОЙ модели, каждый раз, когда я пытаюсь запустить ETL, файл Logs выходит пространства.

Во избежание того, что я хотел бы изменить модель восстановления на простую, после того, как я завершу процесс очистки таблицы, я снова переведу восстановление в полную модель.

Конечно, перед началом процесса я сделаю резервную копию базы данных.

Есть какая-то проблема, какие-либо рекомендации ??

Любая помощь в этом отношении будет принята с благодарностью.

Ответы [ 2 ]

0 голосов
/ 02 мая 2018

Речь идет о том, как часто вы обновляете данные и нужно ли восстанавливать данные до определенного момента времени. Например, если ваша база данных заполнена пакетом ETL один раз в день, лучше оставить базу данных в модели восстановления SIMPLE и выполнить полное или дифференциальное резервное копирование после завершения пакета.

Кроме того, вы обычно выполняете массовые загрузки в процессе ETL Datawarehouse, и полное восстановление может снизить производительность из-за полной регистрации каждой транзакции. Если вам необходимо восстановление на определенный момент времени и вы выбрали модель восстановления FULL, то вы можете рассмотреть возможность перехода на модель восстановления с массовой записью на время вашего процесса ETL, чтобы ваши объемные операции были минимально зарегистрированы. Ссылка

0 голосов
/ 02 мая 2018

Переключение модели восстановления назад и вперед - плохая идея. Перевести базу данных в плохое состояние очень просто, и это может привести к аннулированию резервных копий базы данных.

Первый вариант - получить больше места для хранения, чтобы по мере роста журнала вам не хватало места. Иногда это проще сказать, чем сделать, поэтому следующим вариантом будет запуск резервного копирования журнала транзакций с заданным интервалом, пока работает ETL. Это позволит зафиксировать транзакции и предотвратить заполнение файла журнала. Это приведет к дополнительным дисковым операциям ввода-вывода, поэтому производительность может снизиться. Третий вариант (который я предпочитаю и часто использую в таких ситуациях) - выполнять всю обработку ETL в промежуточной базе данных, где для восстановления установлено значение SIMPLE. Последний шаг ETL - просто обновить производственную базу данных очищенными данными.

...