У меня есть виртуальная машина Windows Server 2008 R2 под управлением MS SQL 2005 поверх хоста VMWare ESXi 5.5 в хранилище данных SAN.
Постоянно он «терял» 2 ГБ места на жестком диске в день, и я не могу понять почему. Это происходит только вечером, когда я вчера днем проверил свободное место на сервере, и оно составило 34,7 ГБ. Утром проверил и оказалось 34,6 Гб. Вечером опустили до 32,5 ГБ свободного места.
На виртуальной машине нет снимков. ОЗУ постоянно составляет около 8 ГБ с колебаниями +/- 200 МБ. Размер файла подкачки составляет 16 ГБ. Не происходит в выходные дни. Так что в пятницу будет 30 ГБ свободного места. В понедельник утром у него будет 30 ГБ свободного места, а к вечеру понедельника - 28,3 ГБ. У меня нет идей.
Вот изображение статистики каталога за вчерашний вечер и сегодняшний вечер рядом.
TLOG
Я лично столкнулся с ошибкой VSS, когда теневые копии были отключены, но все равно работают. обходным путем было включить VSS и установить очень маленький максимальный размер (например, 250 мегабайт). Возможно, стоит попробовать посмотреть, помогает ли это.
Я понял. Это были файлы журнала событий в %SystemRoot%\System32\Winevt\Logs
. На этом конкретном сервере не было стандартных «событий перезаписи по мере необходимости», как на всех других серверах. Однако файлы журнала не удалялись, поэтому они продолжали накапливаться.
Это объясняет, почему в выходные дни размер файла свободного пространства практически не изменится.
В WinDirStat
программное обеспечение показывало это пространство как «Неизвестное», несмотря на то, что «работало от имени администратора», и я начал замечать тенденцию к увеличению «Неизвестного» пространства, когда я начал отслеживать WinDirState
скриншоты два раза в день.
Что в конечном итоге привело меня к файлам журнала, так это использование Вентилятор дискового пространства и сравнение заявленных размеров. Как видите, папка Windows на WinDirStat
показывает 24,6 ГБ, а Disk Space Fan
показывает 116 ГБ. Заглянув дальше в Windows \ System32 и посмотрев на «Top List», показанный в Disk Space Fan, я заметил, что WinDirStat не имеет winevt
папка и показала, что используется 89,7 ГБ пространства. Удаление всех файлов журналов старше 90 дней освободило почти 60 ГБ.
Группа локальных администраторов, в которую добавлены администраторы домена, имела полный контроль над папкой, поэтому я не понимаю, почему WinDirStat не выбирает эти папки.
В SQL Server, если у вас много операций ввода-вывода, вы можете собирать много файлов журнала транзакций. Посмотрите, и если это вызывает вашу проблему, у вас есть два варианта:
Вы можете очистить их или сжать, в зависимости от того, что ваш администратор базы данных говорит вам, что они хотят.
Вот инструкции Microsoft для как уменьшить журнал транзакций
Чтобы очистить журнал транзакций: Как очистить журнал транзакций SQL Server