Найти тему
ИТ записки

Свободное место на диске, при работе с "Базами Данных".

Первый пост.
Изредка сталкиваюсь с проблемой места на диске. Место кончается и к примеру MS SQL Server перестает работать. При планировании сервера обычно место под диск с БД, temp файлами и Transaction log файлами выделяется место с запасом, как меня учили "+30%" к объемы БД. Для эффективной работы диска не меньше "20%" свободного места на диске. Как правило сервер мониторится, заббиксом, на худой конец глазами периодически, составляется альбом прироста данных, на основании графика прироста планируется расширение дискового пространства. Если сервер виртуальный, то при наличии на СХД свободного места диск расширить можно легко, куда тяжелее расширить если сервер железный. Работа с базами непредсказуема и иногда к примеру, Transaction log файлы распухают стремительно, не успеешь зайти на сервер и среагировать на алерт а уже место кончилось. Так сказать, подсобить могут все, кому не лень и руководители, которые хотят мега огромный всеобъемлющий отчет, который перелопатит всю базу, обязательно в рабочее время и коллеги программисты, которые считают, что у нас не сервер баз данных, а какая-то мега супер железка с бесконечным "ОЗУ", запасом ядер на много-много тысяч процессов ну конечно же бесконечным дисковым пространством и обязательно на SSD. В таких ситуациях у меня возникает проблема одна и с ней приходится помучаться. О чем я, о том, что база не хочет ничего делать пока не освободишь маломальский немного места, чтобы было куда писать транзакции на диск. Так как я админ ответственный и стараюсь не потерять данные. приходится изворачиваться чтобы не потерять данные. Я при планировании сервера сразу создаю в корне несколько пустых файлов, объемом от 10 до побольше Гб, в зависимости от объема баз. О чем я, в каталоге с БД я создаю номинально пустые файлы, но имеющие объем. в случае описываемой мной ситуации я их удаляю и работаю с базой, почищу Transaction log файлы и все дальше довольны и работают. Объем файла я делаю с учетом того, что пока я работаю чищу Transaction log, все приостановленные транзакции начнут писать в Transaction log и он начнет дальше расти, времени должно хватить на проведение работ, а то финт ушами не поможет, опять останемся у переполненного диска. Ниже скрипт каким я создаю файлы через "CMD" в ОС Windows.
"fsutil file createnew E:\DELETE_ME.txt 10000000000" - создать пустой файл в 10 Гб на диске E: