การใช้ PowerShell เพื่อรับขนาดฐานข้อมูลกล่องจดหมาย Exchange และพื้นที่กล่องจดหมายใหม่ที่พร้อมใช้งาน
ในปี 2015 Paul Cunningham เขียนเกี่ยวกับหัวข้อนี้ เวลาผ่านไปและ Exchange Server เวอร์ชันใหม่หมายความว่าเป็นการดีที่จะตรวจสอบตำแหน่งปัจจุบันจนถึงและรวมถึง Exchange 2019
เมื่อเวลาผ่านไป ฐานข้อมูลกล่องจดหมาย Exchange ยังคงเติบโตต่อไป มีการเพิ่มกล่องจดหมาย ผู้ใช้ยังคงส่งและรับข้อความอีเมลต่อไป ขนาดข้อความโดยเฉลี่ยเพิ่มขึ้น และผู้ใช้มักจะเก็บอีเมลทั้งหมดไว้ ในเวลาเดียวกัน ผู้ใช้ลบข้อความ และผู้ดูแลระบบ Exchange จะลบกล่องจดหมายเมื่อผู้ใช้ออกจากบริษัท น่าเสียดายที่ฐานข้อมูลกล่องจดหมาย Exchange ไม่หดตัว
การวางแผนและการรวมบัญชีการย้ายแพลตฟอร์ม Microsoft
มีพื้นที่กล่องจดหมายใหม่
เมื่อแต่ละรายการหรือกล่องจดหมายทั้งหมดถูกลบ พื้นที่ที่ถูกครอบครองโดยรายการที่ถูกลบจะพร้อมใช้งานในฐานข้อมูลกล่องจดหมายเมื่อพ้นระยะเวลาการเก็บรักษา สิ่งนี้เรียกว่า "พื้นที่กล่องจดหมายใหม่ที่มีอยู่" แต่มักเรียกว่า "พื้นที่สีขาว" เมื่อเวลาผ่านไป “พื้นที่กล่องจดหมายใหม่ที่มีอยู่” อาจมีความสำคัญในแง่ของขนาดฐานข้อมูลโดยรวม
หากต้องการดึงพื้นที่กล่องจดหมายใหม่ที่มีอยู่สำหรับฐานข้อมูลกล่องจดหมาย ให้ใช้ Get-MailboxDatabase cmdlet พร้อมด้วยตัวเลือก -Status:
Get-MailboxDatabase -Status | Select-Object Name, DatabaseSize, AvailableNewMailboxSpace | Format-Table -AutoSize
Name DatabaseSize AvailableNewMailboxSpace
---- ------------ ------------------------
DB01 553.9 GB (594,718,752,768 bytes) 381.4 MB (399,966,208 bytes)
DB02 606.1 GB (650,821,763,072 bytes) 294.6 MB (308,903,936 bytes)
DB03 508.1 GB (545,596,112,896 bytes) 4.519 GB (4,851,990,528 bytes)
DB04 183.8 GB (197,300,060,160 bytes) 333.2 MB (349,339,648 bytes)
DB05 787 GB (845,034,815,488 bytes) 146.1 MB (153,223,168 bytes)บันทึก. นอกจากพื้นที่กล่องจดหมายใหม่ที่มีอยู่แล้ว ตัวเลือก -สถานะยังสามารถส่งคืนข้อมูลเกี่ยวกับคุณลักษณะต่อไปนี้:
- BackupInProgress - เมื่อมีการสำรองฐานข้อมูลเมลบ็อกซ์ ข้อมูลเกี่ยวกับการสำรองข้อมูลจะถูกเขียนไว้ที่ส่วนหัวของฐานข้อมูลเมลบ็อกซ์ ข้อมูลนี้พร้อมใช้งานแบบออฟไลน์โดยใช้ยูทิลิตี้ ESEUTIL เท่านั้น เมื่อกำลังสำรองข้อมูล ข้อมูลนี้จะพร้อมใช้งานโดยใช้ตัวเลือกนี้
- ติดตั้งแล้ว - ส่งกลับสถานะของฐานข้อมูลกล่องจดหมาย คล้ายกับ Get-MailboxDatabaseCopyStatus cmdlet
- OnlineMaintenanceInProgress - การบำรุงรักษาแบบออนไลน์เป็นกระบวนการเบื้องหลังที่ปรับฐานข้อมูลกล่องจดหมายให้เหมาะสม จะลบรายการกล่องจดหมายและกล่องจดหมายที่ผ่านการเก็บรักษา และจะปรับพื้นที่กล่องจดหมายใหม่ที่พร้อมใช้งานให้เหมาะสม
ทั้งสามตัวเลือกส่งคืน FALSE หรือ TRUE
เพื่อให้ได้เอาต์พุตที่สามารถอ่านได้มากขึ้นซึ่งใช้สำหรับการรายงานด้วย ฉันจะแปลงเป็น GB หรือ MB หรือทั้งสองอย่าง:
Get-MailboxDatabase -Status | Sort-Object name | Select-Object name,@{Name='DB Size (Mb)';Expression={$_.DatabaseSize.ToGb()}
},@{Name='Available New Mbx Space Mb)';Expression={$_.AvailableNewMailboxSpace.ToMb()}}
Name DB Size (Gb) Available New Mbx Space Mb)
---- ------------ ---------------------------
DB01 554 381
DB02 606 294
DB03 508 4627
DB04 184 333
DB05 787 146ตอนนี้คุณรู้พื้นที่ว่างในฐานข้อมูลกล่องจดหมายแล้ว ในรายการด้านบน ฐานข้อมูลเมลบ็อกซ์ DB03 สามารถโฮสต์รายการใหม่ได้จำนวนมากก่อนที่จะขยาย
สถานการณ์ดิสก์เต็ม
ฐานข้อมูลกล่องจดหมาย Exchange จะไม่ย่อขนาดโดยอัตโนมัติ กล่าวคือ จะไม่เล็กลงและคืนพื้นที่ว่างให้กับระบบปฏิบัติการ วิธีเดียวที่จะเรียกคืนพื้นที่จากฐานข้อมูลกล่องจดหมายคือการสร้างฐานข้อมูลกล่องจดหมายใหม่และย้ายกล่องจดหมายทั้งหมดไปยังฐานข้อมูลกล่องจดหมายใหม่ เฉพาะกล่องจดหมายเท่านั้นที่จะถูกย้ายไปยังฐานข้อมูลกล่องจดหมายใหม่ ไม่ใช่พื้นที่กล่องจดหมายใหม่ที่มีอยู่ สมมติว่าคุณมีฐานข้อมูลกล่องจดหมาย 250 GB มีข้อมูลกล่องจดหมาย 200 GB ในฐานข้อมูลกล่องจดหมายนี้ และพื้นที่กล่องจดหมายใหม่ 50 GB นอกเหนือจากการย้ายกล่องจดหมายไปยังฐานข้อมูลกล่องจดหมายใหม่นี้ จะมีขนาด 200 GB และ 50 GB จะถูกส่งกลับไปยังระบบปฏิบัติการ
ข้อกังวลทั่วไปที่ฉันได้ยินบ่อยคือ Exchange Server รุ่นมาตรฐาน ซึ่งสามารถโฮสต์ฐานข้อมูลเมลบ็อกซ์ได้ 5 ฐานข้อมูล เมื่อมีการเรียกใช้ฐานข้อมูลกล่องจดหมาย 5 รายการ จะไม่มีตัวเลือกในการสร้างฐานข้อมูลกล่องจดหมายใหม่เพื่อเรียกคืนพื้นที่กล่องจดหมายใหม่ที่มีอยู่
มีสองตัวเลือกที่ใช้ได้ในสถานการณ์นี้:
- หากคุณเรียกใช้เซิร์ฟเวอร์ Exchange เสมือน คุณสามารถขยายดิสก์เพื่อรองรับฐานข้อมูลกล่องจดหมายขนาดใหญ่ได้ อย่างไรก็ตาม คุณต้องคำนึงถึงเวลาในการสำรองและกู้คืนข้อมูลด้วย การคืนค่าฐานข้อมูลกล่องจดหมายขนาดใหญ่อาจใช้เวลานาน
- หากคุณใช้งานเซิร์ฟเวอร์ Exchange ใน Database Availability Group (DAG) คุณสามารถลบสำเนาฐานข้อมูลกล่องจดหมายหนึ่งชุด สร้างฐานข้อมูลกล่องจดหมายใหม่ และย้ายกล่องจดหมายทั้งหมดไปยังฐานข้อมูลกล่องจดหมายใหม่นี้ และสร้างสำเนาใหม่ได้
- อัปเกรดเป็น Exchange server Enterprise Edition (ซึ่งรองรับฐานข้อมูลได้มากถึง 100 ฐานข้อมูลบนเซิร์ฟเวอร์) สร้างฐานข้อมูลกล่องจดหมายใหม่ และย้ายกล่องจดหมายไปยังฐานข้อมูลกล่องจดหมายใหม่ โดยสมมติว่าคุณมีดิสก์เพิ่มเติมที่พร้อมใช้งาน
- ถ่ายกล่องจดหมายจากฐานข้อมูลกล่องจดหมายที่คุณต้องการเรียกคืนไปยัง Exchange Online เมื่อฐานข้อมูลกล่องจดหมายนี้ว่างเปล่า ให้ลบออก สร้างฐานข้อมูลใหม่ และแจกจ่ายกล่องจดหมายบางส่วนใหม่ไปยังฐานข้อมูลกล่องจดหมายที่คุณเพิ่งสร้างขึ้น
- ถ้าตัวเลือกอื่นๆ ทั้งหมดไม่สามารถทำได้ คุณสามารถใช้ฐานข้อมูลกล่องจดหมายแบบออฟไลน์ และใช้เครื่องมือ ESEUTIL เพื่อดำเนินการจัดเรียงข้อมูลแบบออฟไลน์ แต่นี่เป็นทางเลือกสุดท้าย และคุณควรตรวจสอบให้แน่ใจว่าคุณรู้ว่ากำลังทำอะไรอยู่ หากคุณมีข้อสงสัย ให้สร้างตั๋วที่ฝ่ายสนับสนุนของ Microsoft ฉันเคยเห็นผู้ดูแลระบบจำนวนมากประสบปัญหามากเกินไป เพราะพวกเขาไม่เข้าใจล่วงหน้าว่าจะเกิดอะไรขึ้น
ก้าวไปข้างหน้า
ตัวเลือกทั้งหมดเหล่านี้ใช้เวลาและการวางแผน และคุณต้องถามตัวเองว่าคุณมาอยู่ในสถานการณ์นี้ได้อย่างไร ฉันเดาได้ดีที่สุดว่าขาดการตรวจสอบ แต่ฉันไม่ต้องการตัดสินสถานการณ์ของคุณ
เป็นเรื่องปกติที่ฐานข้อมูลกล่องจดหมายจะเติบโตขึ้นเมื่อเวลาผ่านไป และหากคุณไม่ใส่ใจ ฐานข้อมูลกล่องจดหมายของคุณจะขยายและใหญ่เกินไป ซึ่งอาจส่งผลให้เซิร์ฟเวอร์ของคุณมีพื้นที่ดิสก์ไม่เพียงพอ คุณสามารถตรวจสอบจำนวนพื้นที่กล่องจดหมายใหม่ที่มีอยู่เพื่อดูว่าคุณมี 'ช่องว่าง' เหลืออยู่ในฐานข้อมูลกล่องจดหมายหรือไม่ แต่ฐานข้อมูลกล่องจดหมายจะไม่ลดขนาดโดยอัตโนมัติ
ตามที่อธิบายไว้ข้างต้น คุณมีหลายทางเลือกในการแก้ไขปัญหานี้ ในระยะยาว ควรมีโซลูชันการตรวจสอบที่เหมาะสมจะดีกว่า เพื่อที่คุณจะได้ไม่ต้องประสบปัญหานี้เลย