Уменьшить размер файла Windows.edb (Windows.db) службы поиска Windows

Файл Windows.edb (Windows.db в Windows 11) хранит индексную базу данных службы поиска Windows (Windows Search). Поисковый индекс позволяет пользователям выполнять быстрый поиск файлов, электронных писем в pst файлах и другого контента на диске. Индексирование файлов выполняется в фоновом режиме процессом SearchIndexer.exe . При большом количестве файлов на диске размер файла Windows.edb может вырастать до десятков и даже сотен Гб, занимая все свободное место на системном диске.

Файл Windows.edb является скрытым и по-умолчанию хранится в каталоге C:ProgramDataMicrosoftSearchDataApplicationsWindows .

В Windows 11 вместо файла Windows.edb для хранения индекса службы поиска используется файл Windows.db .

Чтобы быстро узнать текущий размер файла Windows.edb можно воспользоваться PoweShell командой:

((Get-Item $env:programdata'MicrosoftSearchDataApplicationsWindowsWindows.edb').length/1GB)

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

Далее рассмотрим, как уменьшить размер индексного файла Windows.edb службы поиска Windows.

Сбросить поисковый индекса службы Windows Search

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

  1. Откройте панель Settings -> Search -> Searching Windows -> Advanced Search Indexer Settings (в классической Control Panel перейдите в Indexing Options , или выполните команду сontrol srchadmin.dll );
  2. Нажмите кнопку Advanced -> Rebuild ;
  3. Windows Search удалит старый файл Windows.edb, выполнит сканирование диск, переоздаст и перестроит индексный файл. Этот процесс может занять длительное время в зависимости от количества файлов на диске.

Уменьшаем размер файла Windows.edb с помощью дефрагментации

Индексный файл службы поиска Windows представляет собой базу в формате EDB. Можно выполнить офлайн дефрагментацию EDB базы с помощью встроенной утилиты esentutl.exe (Extensible Storage Engine Utility), хорошо знакомой администраторам Exchange . Воспользуйтесь готовым BAT скриптом для остановки службы Windows Search и офлайн дефрагментации файла Windows.edb:

sc config wsearch start=disabled
sc stop wsearch
esentutl.exe /d %ProgramData%MicrosoftSearchDataApplicationsWindowsWindows.edb
sc config wsearch start=delayed-auto
sc start wsearch

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

Дефрагментации позволяет уменьшить размер базы поиска на 20-50 процентов

Этот способ можно применить для дефрагментации файла службы поиска на всех версиях Windows, кроме Windows 11. В Windows 11 вместо файла Windows.edb с типом базы данных JET, используется новый формат файла Windows.db . Это база данных на базе SQLite, которую нельзя индексировать с помощью esentutl.exe.

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

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

net stop "Windows Search"
REG ADD "HKLMSOFTWAREMicrosoftWindows Search" /v SetupCompletedSuccessfully /t REG_DWORD /d 0 /f
del %PROGRAMDATA%MicrosoftSearchDataApplicationsWindowsWindows.edb
net start "Windows Search"

Параметр реестра SetupCompletedSuccessfully = 0 указывает службе Windows Search, что нужно восстановить настройки по-умолчанию.

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

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

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

Для смены местоположения файла перейдите в Control Panel –> Indexing Options -> Advanced -> Index location-> New Location и укажите путь к новому местоположению файла Windows.edb и нажмите OK.
Перезапустите службу поиска:
Restart-Service wsearch

Почему сильно растет размер файла Windows.edb

Если после дефрагментации и/или перестройки поискового индекса, его размер опять начинает сильно расти, попробуйте следующие методики, которые могут помочь решить проблему.

  1. Запустите встроенное средство исправления неполадок поиска Windows ( Search and Indexing Troubleshooter ). Выполните команду: msdt.exe -ep SystemSettings_Troubleshoot_L2 -id SearchDiagnostic . В списке проблем выберите, что поиск или индексация выполняется медленно (Search or indexing is slow). Далее мастер устранения неполадок попробуем вернуть службу Windows Search в нормальное состояние;
  2. Старайтесь индексировать только необходимые контент. Исключайте из поискового индекса элементы, поиск в которых вы не используете. Нажмите кнопку Modify в настройках индексирования и в окне Indexing Location отключите пути и приложения, которые не нужно индексировать. После изменения настроек путей индексирования перестройте индекс Advanced -> Rebuild ;
  3. Если вы используете на компьютере Outlook с PST файлами, то при их индексировании размер файла Windows.edb растет пропорционально размеру PST файлов. Это может привести к исчерпанию места на диске и проблемам с производительностью. В этом случае Microsoft рекомендует исключить Outlook из списка индексируемых элементов. Естественно при этом в Outlook перестанет работать поиск (это не будет проблема, если вы храните своя ящик на сервере Exchange с включенным поисковым индексом);
  4. Если ничего не помогает, и размер файла постоянно растет, вы можете полностью отключить службу wsearch, или настроить логон скрипт, который сбрасывает поисковый индекс при каждой загрузке компьютера.
admin

Share
Published by
admin

Recent Posts

Консоль удаленного рабочего стола(rdp console)

Клиент удаленного рабочего стола (rdp) предоставляет нам возможность войти на сервер терминалов через консоль. Что…

2 месяца ago

Настройка сети в VMware Workstation

В VMware Workstation есть несколько способов настройки сети гостевой машины: 1) Bridged networking 2) Network…

2 месяца ago

Логи брандмауэра Windows

Встроенный брандмауэр Windows может не только остановить нежелательный трафик на вашем пороге, но и может…

2 месяца ago

Правильный способ отключения IPv6

Вопреки распространенному мнению, отключить IPv6 в Windows Vista и Server 2008 это не просто снять…

2 месяца ago

Ключи реестра Windows, отвечающие за параметры экранной заставки

Параметры экранной заставки для текущего пользователя можно править из системного реестра, для чего: Запустите редактор…

2 месяца ago

Как управлять журналами событий из командной строки

В этой статье расскажу про возможность просмотра журналов событий из командной строки. Эти возможности можно…

2 месяца ago