Уменьшить размер файла 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)

powershell команда чтобы узнать размер файла windows.edb в windows 10

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

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

Далее рассмотрим, как уменьшить размер индексного файла 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 ); Панель параметров поиска и индексирования windows
  2. Нажмите кнопку Advanced -> Rebuild ; Переиндексация базы Windows Search
  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 файла.

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

Дефрагментации позволяет уменьшить размер базы поиска на 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 на другой диск

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

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

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