Windows.edb는 Windows 검색 인덱스 데이터베이스 파일입니다. 검색 인덱스는 시스템 내 파일, PST 파일에 저장된 이메일 등 다양한 콘텐츠를 미리 색인화해 두기 때문에 사용자가 파일 시스템에서 원하는 데이터를 빠르게 찾을 수 있도록 도와줍니다. 이러한 인덱싱 작업은 백그라운드에서 SearchIndexer.exe 프로세스가 담당합니다.
시스템에 저장된 파일이 많아질수록 Windows.edb 파일의 크기도 자연스럽게 커지는데, 경우에 따라 수십 GB에서 수백 GB까지 불어나면서 시스템 드라이브의 여유 공간을 모두 잠식하는 문제가 발생할 수 있습니다.
Windows.edb 파일 위치 및 크기 확인
Windows.edb 파일은 숨김 속성으로 되어 있으며 기본적으로 다음 경로에 저장됩니다.
C:\ProgramData\Microsoft\Search\Data\Applications\Windows\
참고: Windows.edb 파일은 Windows 7/Server 2008부터 Windows 10/Server 2019까지 모든 최신 Microsoft 클라이언트 및 서버 운영체제에서 찾을 수 있습니다.
예를 들어 필자의 경우 Windows.edb 파일 크기가 15.5GB를 넘어, 100GB SSD 드라이브에서 15% 이상을 차지하고 있었습니다.
다음 PowerShell 명령으로 현재 Windows.edb 파일의 크기를 확인할 수 있습니다.
((Get-Item $env:programdata'\Microsoft\Search\Data\Applications\Windows\Windows.edb').length/1GB)
목차
- Windows 검색 인덱스 초기화 및 재구축 방법
- 조각모음(esentutl)으로 Windows.edb 크기 줄이기
- Windows.edb 파일 삭제 후 재생성하기
- Windows.edb 파일을 다른 드라이브로 이동하기
- 업데이트 롤업 설치로 Windows.edb 무한 증가 문제 해결
- Windows.edb 파일이 계속 커질 때 대처법
Windows 검색 인덱스 초기화 및 재구축 방법
Windows.edb 크기를 줄이는 가장 안전하지만 효율성은 떨어지는 방법은 시스템 파일을 다시 색인화(리인덱싱)하는 것입니다. 제어판 → 인덱싱 옵션 → 고급 → 다시 작성(Rebuild) 버튼을 클릭하면 됩니다. 이 대화 상자는 명령 프롬프트에서 Control srchadmin.dll 명령으로 바로 열 수도 있습니다.
일정 시간이 지나면 Windows 검색이 시스템 드라이브 및 기타 색인 위치의 데이터 전체를 다시 색인화하고, 그 결과 edb 파일의 크기가 줄어듭니다. 필자의 경우 재구축에 몇 시간 정도 소요되었습니다.
조각모음(esentutl)으로 Windows.edb 크기 줄이기
Windows 검색 인덱스 파일은 Microsoft EDB 데이터베이스 형식입니다. Exchange 관리자에게 익숙한 esentutl.exe(Extensible Storage Engine Utility) 도구를 사용하면 EDB 데이터베이스를 오프라인 조각모음할 수 있습니다. 조각모음은 데이터베이스가 사용 중이 아닐 때만 가능하므로 먼저 Windows Search 서비스를 중지해야 합니다. 아래와 같이 하나의 배치(cmd) 스크립트로 묶어 실행할 수 있습니다.
sc config wsearch start=disabled
sc stop wsearch
esentutl.exe /d %ProgramData%\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비트 OS를 사용 중이라는 의미이며, x86 버전의 esentutl을 사용해야 합니다. 이 경우 세 번째 명령은 다음과 같이 변경됩니다.
"C:\Windows\SysWOW64\esentutl.exe" /d %AllUsersProfile%\Microsoft\Search\Data\Applications\Windows\Windows.edb
필자의 경우 조각모음 후 Windows.edb 파일 크기가 약 30% 감소했습니다.
Windows.edb 파일 삭제 후 재생성하기
디스크 여유 공간이 절실하다면 Windows.edb 파일을 안전하게 삭제할 수 있습니다. 이 작업은 사용자 데이터를 잃지 않으며, 검색 인덱스만 초기화되기 때문입니다. Windows Search 서비스를 중지한 후 파일을 삭제하고 서비스를 다시 시작하면 됩니다.
net stop "Windows Search"
REG ADD "HKLM\SOFTWARE\Microsoft\Windows Search" /v SetupCompletedSuccessfully /t REG_DWORD /d 0 /f
del %PROGRAMDATA%\Microsoft\Search\Data\Applications\Windows\Windows.edb
net start "Windows Search"
레지스트리 키 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Search에서 SetupCompletedSuccessfully = 0 값을 설정하면, Windows Search 서비스가 다음 시작 시 현재 설정과 색인 경로를 초기화하고 기본 wsearch 매개변수를 복원하며 기본 색인 경로를 다시 추가합니다.
Windows Search를 재시작하면 백그라운드 리인덱싱이 진행되며 Windows.edb 파일이 새로 생성됩니다(전체 재색인 중에는 시스템 성능이 일시적으로 저하될 수 있습니다).
Windows.edb 파일을 다른 드라이브로 이동하기
Windows.edb 파일 크기가 지속적으로 증가하는 환경이라면, 검색 인덱스 데이터베이스 자체를 다른 드라이브(볼륨)로 옮기는 것이 좋습니다. 이렇게 하면 검색 데이터베이스가 급격히 커져도 시스템 파티션의 공간 부족으로 인한 OS 장애를 예방할 수 있습니다. 특히 사용자들이 파일, 개인 폴더 등 색인 대상 콘텐츠를 활발히 다루는 RDS(원격 데스크톱 서비스) 서버에서 권장되는 방법입니다.
인덱스 파일 위치를 변경하려면 제어판 → 인덱싱 옵션 → 고급 → 인덱스 위치 → 새 위치(New Location)에서 Windows.edb 파일의 새 경로를 지정하고 확인을 클릭합니다.
이후 Windows Search 서비스를 재시작합니다.
Restart-Service wsearch
업데이트 롤업 설치로 Windows.edb 무한 증가 문제 해결
2013년 5월, Windows 8 및 Windows Server 2012에서 Windows.edb 파일이 끝없이 커지는 문제를 수정하는 특별 업데이트(KB 2836988 업데이트 롤업에 포함)가 배포되었습니다. 해당 Windows 버전을 사용 중이라면 이 패치를 수동으로 다운로드하여 설치하는 것이 좋습니다. 단, 이 업데이트는 현재 Windows.edb 파일의 크기를 줄여주지는 않으며, 파일이 과도하게 커지는 원인인 버그만 수정합니다. 파일 크기를 줄이려면 앞서 설명한 대로 검색 인덱스를 재구축하거나 조각모음을 수행해야 합니다.
그 외 Windows 버전에서는 Windows Update 또는 WSUS를 통해 항상 최신 누적 업데이트를 설치하는 것이 권장됩니다.
Windows.edb 파일이 계속 커질 때 대처법
조각모음이나 검색 인덱스 재구축 후에도 Windows.edb 파일이 다시 커지기 시작한다면, 다음 방법들을 시도해 보세요.
- Windows 10 검색 및 인덱싱 문제 해결사 실행: 다음 명령으로 실행할 수 있습니다.
msdt.exe -ep SystemSettings_Troubleshoot_L2 -id SearchDiagnostic. 문제 목록에서 "검색 또는 인덱싱이 느림"을 선택하면, 문제 해결 마법사가 Windows Search 서비스를 정상 상태로 복구하려고 시도합니다. - 필요한 콘텐츠만 색인화: 검색할 필요가 없는 항목은 인덱스에서 제외하세요. 인덱싱 설정에서 "수정(Modify)" 버튼을 클릭하고 "인덱싱 위치" 창에서 색인하지 않을 경로와 앱을 비활성화하면 됩니다. 인덱스 경로 설정을 변경할 때마다 검색 인덱스를 다시 구축해야 한다는 점(고급 → 다시 작성)에 유의하세요. 참고로 Windows 10/8.1에서는 Windows 7보다 Windows.edb 파일이 훨씬 빠르게 커집니다. 최신 Windows 버전은 파일 크기와 관계없이 모든 파일 내용을 색인화하는 반면, Windows 7은 대용량 문서의 앞부분만 색인했기 때문입니다.
- Outlook PST 파일 색인 제외: Outlook PST 파일을 사용하는 경우, 이메일 색인 시 Windows.edb 파일 크기가 PST 파일 크기에 비례하여 증가합니다. 이로 인해 디스크 공간 부족과 성능 저하 문제가 발생할 수 있습니다. 이런 경우 Microsoft는 색인 항목 목록에서 Outlook을 제외할 것을 권장합니다. 물론 Outlook 검색 기능은 동작하지 않게 되지만, Exchange 서버에 사서함을 보관하고 검색 인덱스가 활성화되어 있다면 큰 문제가 되지 않습니다.
- 최후의 수단: 어떤 방법으로도 해결되지 않고 Windows.edb 파일이 계속 커진다면, wsearch 서비스를 완전히 비활성화하거나, 부팅 시마다 검색 인덱스를 초기화하는 로그온 스크립트를 구성하는 방법도 있습니다.