Я только что унаследовал SQL Server, где размер файла базы данных был установлен на 1 МБ. Таким образом, существует множество баз данных (> 25), которые до сих пор росли небольшими приращениями (в настоящее время их объем составляет 300 ГБ).
Поэтому я подумал, что жесткий диск действительно фрагментирован, и заказал много времени простоя для запуска Disk Optimize (после завершения работы SQL Server). Но это закончилось через 1 минуту, сказав, что диски не были фрагментированы.
Я заметил, что для него установлено значение Оптимизация по расписанию = Вкл.
Может ли Windows 2016 запускать Disk Optimize с запущенным SQL Server?
Я много и мало искал, и все говорят, что вы должны вручную наращивать базы данных большими кусками, чтобы избежать фрагментации. Это кажется менее важным, если вы согласны с тем, что Windows запускает Disk Optimize один раз в неделю. Инструмент SP_Blitz от Brent Ozar выдает предупреждение, если у вас размер увеличения 1 МБ.
С тех пор, как Windows имела эту функциональность, она фактически работала с заблокированными файлами. Даже до того, как тот, который они купили (я думаю), позволил это. В ядре есть специальный API, позволяющий перемещать файлы без обычного API файловой системы.
Итак, да.