Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Windows 7

วิธีลดขนาดไฟล์ Windows.edb ที่ใหญ่ผิดปกติ

Windows.edb คือฐานข้อมูลดัชนีการค้นหาของ Windows (Windows Search Index) ดัชนีการค้นหาช่วยให้ผู้ใช้ค้นหาข้อมูลและไฟล์ในระบบไฟล์ได้อย่างรวดเร็ว เนื่องจากการจัดทำดัชนีไฟล์ อีเมลในไฟล์ PST และเนื้อหาอื่นๆ การจัดทำดัชนีทำงานในพื้นหลังโดยกระบวนการ SearchIndexer.exe ชัดเจนว่า ยิ่งมีไฟล์มากในระบบ ขนาดไฟล์ Windows.edb จะใหญ่ขึ้น ในบางกรณี อาจใหญ่ถึงสิบหรือร้อย GB ใช้พื้นที่ว่างบนไดรฟ์ระบบหมด

ไฟล์ Windows.edb เป็นไฟล์ซ่อน และโดยค่าเริ่มต้นเก็บอยู่ในโฟลเดอร์ C:\ProgramData\Microsoft\Search\Data\Applications\Windows\

หมายเหตุ ไฟล์ Windows.edb พบได้ใน Microsoft OS ทุกเวอร์ชันสมัยใหม่ทั้ง Client และ Server: จาก Windows 7/Server 2008 ถึง Windows 10/Server 2019

ตัวอย่างเช่น ในกรณีของผม ขนาด Windows.edb มากกว่า 15.5 GB (คือเกิน 15% บน SSD 100 GB ของผม)

วิธีลดขนาดไฟล์ Windows.edb ที่ใหญ่ผิดปกติ

สามารถตรวจสอบขนาดปัจจุบันของไฟล์ Windows.edb ด้วยคำสั่ง PowerShell:

((Get-Item $env:programdata'\Microsoft\Search\Data\Applications\Windows\Windows.edb').length/1GB)

วิธีลดขนาดไฟล์ Windows.edb ที่ใหญ่ผิดปกติ

สามารถหาไฟล์ขนาดใหญ่ทั้งหมดบนคอมพิวเตอร์ด้วยสคริปต์ PowerShell ง่ายๆ

ต่อไป มาดูหลายวิธีในการลดขนาดไฟล์ Windows Search Index (Windows.edb) ที่ใหญ่ผิดปกติ

สารบัญ

  • วิธี Reset และ Rebuild Windows Search Index
  • ลดขนาด Windows.edb ด้วยการ Defragmentation
  • ลบและสร้างใหม่ไฟล์ Windows.edb
  • ย้ายไฟล์ Windows.edb ไปไดรฟ์อื่น
  • ติดตั้ง Update Rollup เพื่อแก้ไขการเติบโตของไฟล์ Windows.edb
  • ไฟล์ Windows.edb ยังคงใหญ่ขึ้นเรื่อยๆ

วิธี Reset และ Rebuild Windows Search Index

วิธีที่เหมาะสมที่สุด แม้จะไม่ได้ผลมากนัก คือการ Re-index ไฟล์ในระบบใหม่ เปิด Control Panel → Indexing Options → Advanced → คลิก Rebuild (เพื่อเปิดกล่องโต้ตอบนี้ สามารถรันคำสั่ง: Control srchadmin.dll)

วิธีลดขนาดไฟล์ Windows.edb ที่ใหญ่ผิดปกติ

ภายในสักพัก Windows Search จะทำ Full Reindex ข้อมูลบนไดรฟ์ระบบ (และสถานที่ที่จัดทำดัชนีอื่นๆ) และขนาดไฟล์ edb จะลดลง (ในเครื่องผมใช้เวลาหลายชั่วโมงในการ Rebuild Search Index)

ลดขนาด Windows.edb ด้วยการ Defragmentation

ไฟล์ Windows Search Index เป็นฐานข้อมูล EDB ของ Microsoft สามารถ Defragment ฐานข้อมูล EDB ได้ด้วยเครื่องมือมาตรฐานสำหรับดูแลฐานข้อมูลแบบนี้ คือ esentutl.exe (Extensible Storage Engine Utility – คุ้นเคยกับ Exchange Admins) ฐานข้อมูลถูก Defragment แบบ Offline (ต้องไม่ได้ใช้งาน) ดังนั้นต้องหยุด Widows Search Service ก่อน สามารถรวมการดำเนินการทั้งหมดในสคริปต์ bat/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

เคล็ดลับ เพื่อทำ Defragmentation ควรมีพื้นที่ว่างบนฮาร์ดดิสก์เพียงพอ เนื่องจากจะสร้างไฟล์ EDB ทั้งฉบับ

Esentutl แสดงความคืบหน้าการ Defragment ไฟล์ EDB บนหน้าจอ

หมายเหตุ หากเห็นข้อผิดพลาดหลังรันคำสั่ง esentutl:

Operation terminated with error -1213 (JET_errPageSizeMismatch, The database page size does not match the engine) after 10.125 seconds.

หมายความว่าคุณใช้ OS 64-bit และต้องใช้เวอร์ชัน x86 ของ esentutl เพื่อทำ Defragmentation ในกรณีนี้ คำสั่งที่สามจะเป็น:

"C:\Windows\SysWOW64\esentutl.exe" /d %AllUsersProfile%\Microsoft\Search\Data\Applications\Windows\Windows.edb

วิธีลดขนาดไฟล์ Windows.edb ที่ใหญ่ผิดปกติ

ในกรณีของผม หลัง Defragmentation ขนาดไฟล์ Windows.edb ลดลง 30%

ลบและสร้างใหม่ไฟล์ Windows.edb

หากพื้นที่ดิสก์ว่างเป็นปัญหาสำคัญ สามารถลบไฟล์ Windows.edb ได้อย่างปลอดภัย การกระทำนี้ปลอดภัยเพราะไม่สูญเสียข้อมูลใดๆ แค่ Reset Search Index เฉพาะ เพื่อลบไฟล์ 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"

ค่าของพารามิเตอร์รีจิสทรี SetupCompletedSuccessfully = 0 ในคีย์ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Search บังคับให้ Windows Search Service รีเซ็ตการตั้งค่าและเส้นทางการจัดทำดัชนีปัจจุบันเมื่อเริ่มต้นครั้งต่อไป กู้คืนพารามิเตอร์ wsearch เริ่มต้นและเพิ่มเส้นทางจัดทำดัชนีเริ่มต้น

หลังรีสตาร์ท Windows Search จะเริ่มกระบวนการ Reindexing แบบพื้นหลังและสร้างไฟล์ Windows.edb ใหม่ (ประสิทธิภาพระบบอาจลดลงระหว่าง Full Reindexing)

ย้ายไฟล์ Windows.edb ไปไดรฟ์อื่น

ในบางกรณี เมื่อขนาดไฟล์ Windows.edb เพิ่มขึ้นต่อเนื่อง ดีกว่าที่จะย้ายฐานข้อมูลดัชนีของ Windows Search ไปไดรฟ์อื่น (Volume) ดังนั้น การเพิ่มขึ้นอย่างรวดเร็วของฐานข้อมูลค้นหาจะไม่ทำให้ OS Crash เนื่องจากพื้นที่ว่างบน Partition ระบบหมด ปกติควรทำบน RDS Servers ที่ผู้ใช้ทำงานกับไฟล์ โฟลเดอร์ส่วนตัว และเนื้อหาที่จัดทำดัชนีอย่างเข้มข้น

เพื่อเปลี่ยนตำแหน่งไฟล์ดัชนี ไปที่ Control Panel → Indexing Options → Advanced → Index location → New Location ระบุพาธไปยังตำแหน่งใหม่ของไฟล์ Windows.edb และคลิก OK

รีสตาร์ทบริการ Windows Search:
Restart-Service wsearch

วิธีลดขนาดไฟล์ Windows.edb ที่ใหญ่ผิดปกติ

ติดตั้ง Update Rollup เพื่อแก้ไขการเติบโตของไฟล์ Windows.edb

อัปเดตพิเศษเผยแพร่ในเดือนพฤษภาคม 2013 เพื่อแก้ไขปัญหาการเติบโตต่อเนื่องของไฟล์ Windows.edb ใน Windows 8 และ Windows Server 2012 (Bug fix นี้เป็นส่วนหนึ่งของ Update Rollup KB 2836988) แนะนำให้ดาวน์โหลดและติดตั้งแพทช์นี้ด้วยตนเองบน Windows เวอร์ชันเหล่านี้ โปรดทราบว่าอัปเดตไม่ลดขนาดปัจจุบันของไฟล์ Windows.edb แต่แก้ไข Bug ที่ทำให้มันเติบโตมากเกินไป เพื่อลดขนาดไฟล์ edb ต้อง Rebuild Search Index หรือ Defragment ตามที่อธิบายข้างต้น

สำหรับ Windows เวอร์ชันอื่นๆ แนะนำให้ติดตั้ง Cumulative Updates ล่าสุดผ่าน Windows Update หรือ WSUS เสมอ

ไฟล์ Windows.edb ยังคงใหญ่ขึ้นเรื่อยๆ

หากไฟล์ Windows.edb เริ่มใหญ่ขึ้นอีกหลัง Defragment และ/หรือ Rebuild Search Index ลองวิธีต่อไปนี้ซึ่งอาจช่วยแก้ไขปัญหา:

  1. รัน Search and Indexing Troubleshooter บน Windows 10 ในตัว สามารถรันด้วยคำสั่ง: msdt.exe -ep SystemSettings_Troubleshoot_L2 -id SearchDiagnostic ในรายการปัญหา เลือก “Search or indexing is slow” Wizard จะพยายามคืนบริการ Windows Search สู่สภาพปกติ;
    วิธีลดขนาดไฟล์ Windows.edb ที่ใหญ่ผิดปกติ
  2. ลองจัดทำดัชนีเฉพาะเนื้อหาที่ต้องการ เพิ่มรายการที่ไม่ต้องการค้นหาออกจาก Search Index คลิกปุ่ม “Modify” ในการตั้งค่าการจัดทำดัชนี และในหน้าต่าง “Indexing Location” ปิดเส้นทางและแอปที่ไม่ต้องการจัดทำดัชนี หลังเปลี่ยนการตั้งค่า Index Path ต้อง Rebuild Search Index ทุกครั้ง (Advanced → Rebuild);
    วิธีลดขนาดไฟล์ Windows.edb ที่ใหญ่ผิดปกติ โปรดทราบว่าขนาดไฟล์ Windows.edb เพิ่มขึ้นเร็วกว่าใน Windows 10/8.1 มากกว่า Windows 7 เนื่องจากใน Windows รุ่นใหม่ จัดทำดัชนีเนื้อหาไฟล์ทั้งหมด ไม่ว่าขนาดจะใหญ่แค่ไหน ส่วน Windows 7 จัดทำดัชนีเฉพาะส่วนแรกของเอกสารขนาดใหญ่
  3. หากคุณใช้ Outlook พร้อมไฟล์ PST บนคอมพิวเตอร์ การจัดทำดัชนีพวกเขาจะทำให้ขนาดไฟล์ Windows.edb เพิ่มขึ้นสัดส่วนกับขนาดไฟล์ PST สามารถนำไปสู่พื้นที่ดิสก์ไม่พอและปัญหาประสิทธิภาพ ในกรณีนี้ Microsoft แนะนำให้เพิกเฉย Outlook ออกจากรายการรายการที่จัดทำดัชนี วิธีลดขนาดไฟล์ Windows.edb ที่ใหญ่ผิดปกติ當然 Outlook Search จะหยุดทำงาน (จะไม่เป็นปัญหาหากคุณเก็บ Mailbox บน Exchange Server ที่เปิดใช้งาน Search Index)
  4. หากไม่มีอะไรช่วย และขนาดไฟล์ Windows.edb ยังคงเพิ่มขึ้น สามารถปิดใช้งานบริการ wsearch ทั้งหมด หรือตั้งค่า Logon Script ที่ Reset Search Index เมื่อเริ่มต้น