Боремся с ростом файла Windows.edb службы поиска Windows

Файл Windows.edb представляет собой индексную базу данных службы поиска Windows (Windows Search), которая обеспечивает пользователям быстрый поиск данных на файловой системе за счет индексирования файлов, писем в pst файлах и другого контента. Естественно, чем больше файлов в системе, тем больший размер может занимать файл Windows.edb. В некоторых случаях он может вырастать до десятков и даже сотен Гб, занимая все свободное место на системном диске.

Данный файл является скрытым и по-умолчанию хранится в каталоге C:\ProgramData\Microsoft\Search\Data\Applications\Windows\.

Примечание. Этот файл имеется во всех современных клиентских и серверных ОС MSFT: от Windows 7/Vista/Server 2008 до Windows 10/Server 2016.

Например, в моем случае размер файла Windows.edb составляет более 15,5 Гб (а это почти 15% на моем 100 Гб SSD диске)

Большой размер файла Windows.edb на диске

Есть несколько способов управления ростом размера файла Windows.edb

    Содержание:
  • Перестройка индекса Windows Search
  • Дефрагментация Windows.edb с помощью Esentutl
  • Удаление и пересоздание файла Windows.edb
  • Перенос файла Windows.edb на другой диск
  • Исправление для предотвращения чрезмерного роста файла Windows.edb в Windows 8 / Windows Server 2012

Перестройка индекса Windows Search

Самый «правильный», но не самый эффективный способ уменьшить размер файла Windows.edb – запустить процесс переиндексации данных в системе. Для этого откройте Панель Управления -> Indexing Options -> Advanced -> Rebuild (для открытия этого диалога достаточно выполнить команду rundll32.exe shell32.dll,Control_RunDLL srchadmin.dll). Переиндексация базы Windows Search

Через некоторое время (как правило довольно продолжительное), система закончит переиндексацию данных и размер edb файла несколько уменьшится.

Дефрагментация Windows.edb с помощью Esentutl

Так как индексный файл службы поиска Windows представляет собой базу в формате EDB, можно выполнить ее дефрагментацию с помощью стандартной утилитой для обслуживания таких баз esentutl.exe — Extensible Storage Engine Utilities  (должна быть хорошо знакома администраторам Exchange). Дефрагментация базы выполняется в офлайн режиме (база не должна использоваться), поэтому сначала придется остановить службы поиска. Все эти операции можно объединить в один скрипт:

sc config wsearch start=disabled
sc stop wsearch
esentutl.exe /d %AllUsersProfile%\Microsoft\Search\Data\Applications\Windows\Windows.edb
sc config wsearch start=delayed-auto
sc start wsearch

Совет. Для выполнения дефрагментации на диске должно быть достаточно свободного места, т.к. будет создана копия edb файла.

Утилита esentutl в процессе работы отображает прогресс выполнения дефрагментации на экране.

Примечание. Если при выполнении команды esentutl появляется ошибка: Operation terminated with error -1213 (JET_errPageSizeMismatch, The database page size does not match the engine) after 10.125 seconds, это означает что ваша система 64 битная и для выполнянения дефрагментации нужно использовать x64 версию esentutl. Т.е. третья команда будет выглядеть так:
"C:\Windows\SysWOW64\esentutl.exe" /d %AllUsersProfile%\Microsoft\Search\Data\Applications\Windows\Windows.edb

дефрагментация базы windows.edb с помощью esentutl.exe

В моем случае размер edb файла после дефрагментации уменьшился на 30%.

Удаление и пересоздание файла Windows.edb

Если места на диске критически мало, можно безопасно удалить файл Windows.edb. Для этого, остановите службу Windows Search и удалите файл.

net stop "Windows Search"
del %PROGRAMDATA%\Microsoft\Search\Data\Applications\Windows\Windows.edb
net start "Windows Search"

После перезапуска, служба Windows Search начнет процесс переиндексации системы и пересоздаст файл  Windows.edb (в процессе полной переиндексации производительность системы может снизится).

Перенос файла Windows.edb на другой диск

В некоторых случаях, когда размер файла постоянно увеличивается Windows.edb, имеет смысл перенести индексную базу поиска Windows на другой том. Тем самым экстремальный рост базы не приведет к остановке системы при исчерпании свободного места на системном разделе. Как правило, это необходимо выполнять на терминальных серверах RDS, на которых пользователи активно работают с файлами, личными папками и другим индексируемым контентом.

Для смены местоположения файла откройте Control Panel\Indexing Options\Advanced\ Index location->New Location  и укажите путь к новому местоположению файла Windows.edb.

Перенос файла windows.edb на другой диск

Исправление для предотвращения чрезмерного роста файла Windows.edb в Windows 8 / Windows Server 2012

Для решения проблема постоянного роста размера файла Windows.edb в Windows 8 и  Windows Server 2012  было выпущено специальное исправление, которое включено в состав пакета обновлений от мая 2013 года – KB 2836988.  Рекомендуется скачать и установить его в данных версиях Windows.

(Пока оценок нет)
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x