อาการ
พิจารณาสถานการณ์สมมติต่อไปนี้:
-
คุณเรียกใช้สำเนาของฐานข้อมูล Microsoft Exchange Server 2010 Service Pack 3 (SP3) แฝง โดยใช้ Windows PowerShell หรือคอนโซลการจัดการการแลกเปลี่ยน
-
Dismounts กำหนดใช้ฐานข้อมูล โดยไม่มีการออกใช้ และสำเนาแฝง mounts
-
เปลี่ยนสถานะการคัดลอกฐานข้อมูลไปยังสถานะที่ล้มเหลวในระหว่างระยะการเตรียมใช้งานบนสำเนาที่แฝงอยู่ในขณะนี้ นอกจากนี้ ข้อความสถานะสำหรับการคัดลอกฐานข้อมูลแสดงล้มเหลว
เมื่อปัญหานี้เกิดขึ้น คุณได้รับข้อความแสดงข้อผิดพลาดที่คล้ายกับต่อไปนี้เมื่อคุณรันการรับ MailboxDatabaseCopyStatus | fl identity, errormessage cmdlet ในการแลกเปลี่ยนจัดการ Shell (EMC);
บริการการจำลองแบบ Exchange Microsoft พบข้อผิดพลาดขณะกำลังตรวจสอบแฟ้มบันทึกและฐานข้อมูลสำหรับDB\Serverเมื่อเริ่มต้นระบบ ข้อผิดพลาด: แฟ้มการตรวจสอบล้มเหลว: Logfile'เส้นทาง.logxx\E' จะสร้างnumber1 อย่างไรก็ตาม การสร้างที่คาดไว้คือnumber2
ตัวอย่างเช่น คุณอาจได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:
บริการการจำลองแบบ Exchange Microsoft พบข้อผิดพลาดขณะกำลังตรวจสอบแฟ้มบันทึกและฐานข้อมูลสำหรับDB\Serverเมื่อเริ่มต้นระบบ ข้อผิดพลาด: แฟ้มการตรวจสอบล้มเหลว: Logfile 'f:\logs\DB\Enn.log' จะสร้าง 2024 อย่างไรก็ตาม การสร้างที่คาดไว้คือ 2004
สาเหตุ
ถ้าเปิดใช้งานการสร้างชื่อ 8DOT3 บนไดรฟ์ข้อมูลที่มี ธุรกรรมล็อกใน Exchange Server 2010 SP3 ล็อกธุรกรรมที่ไม่ถูกต้องจะส่งคืนเป็นส่วนหนึ่งของแบบสอบถาม findfile ในระหว่างขั้นตอนการเปิดใช้งานฐานข้อมูลนั้นอย่างไร ซึ่งทำให้ฐานข้อมูลที่จะส่งไปยังสถานะที่ล้มเหลวเนื่องจากมีลำดับไม่ถูกต้องในหมายเลขการสร้างล็อกธุรกรรม
ไม่มีการสูญเสียข้อมูลที่เกิดขึ้นเนื่องจากความล้มเหลวนี้
การแก้ปัญหา
เมื่อต้องการแก้ไขปัญหานี้ ติดตั้ง update rollup ดังต่อไปนี้:
คำอธิบายของการปรับปรุงค่าสะสม 2 สำหรับ Exchange Server 2010 Service Pack ที่ 3
วิธีแก้ปัญหา
ขั้นตอนที่ 1: ตรวจสอบการกำหนดค่าของการสร้างชื่อ 8DOT3
การตรวจสอบว่า มีการเปิดใช้งานการสร้างชื่อ 8DOT3 เรียกใช้คำสั่งต่อไปนี้จากพร้อมท์คำสั่ง (ที่นี่ เราสมมติว่า แฟ้มล็อกธุรกรรมบนไดรฟ์ c)
fsutil 8dot3name query c:
ถ้าผลลัพธ์ที่คาดไว้ส่งกลับสิ่ง ต่อไปนี้ การสร้างชื่อ 8DOT3 ที่ resemblbes ถูกเปิดใช้งาน:
The volume state is: 0 (8dot3 name creation is enabled).
The registry state is: 2(Per volume setting-the default).
Based on the above two settings, 8dot3 name creation is enabled on C:
หรือ ผลผลิตที่คาดไว้อาจส่งคืนชื่อลักษณะคล้ายกับต่อไปนี้:
The volume state is: 0 (8dot3 name creation is enabled).
The registry state is: 0 (Per volume setting - the default).
Based on the above two settings, 8dot3 name creation is enabled on C:
บ่งชี้ว่า ไดรฟ์ C มีการสร้างชื่อ 8DOT3 ที่เปิดใช้งาน
ตรวจสอบให้แน่ใจว่า คุณเรียกใช้คำสั่งนี้บนไดรฟ์ข้อมูลที่ประกอบด้วยการล็อกธุรกรรม คุณยังสามารถใช้ต่อไปนี้ถ้าคุณใช้จุดเชื่อมต่อ:
fsutil 8dot3name query Volume{928842df-5a01-11de-a85c-806e6f6e6963}
คุณจะต้องแทนที่ไดรฟ์ข้อมูล GUID ที่ตรงกับ GUID ของไดรฟ์ข้อมูลของคุณ เมื่อต้องการกำหนดระดับเสียงและ GUID สำหรับไดรฟ์บาง เรียกใช้คำสั่งต่อไปนี้:
mountvol [Drive:]Path /L
ขึ้นอยู่กับความต้องการของคุณ คุณสามารถตั้งค่าการสร้างชื่อ 8DOT3 จะปิดใช้งาน สำหรับไดรฟ์ข้อมูลทั้งหมด หรือ ตามระดับเสียง volume ตามที่อธิบายในขั้นตอนที่ 3 เป็นการยากที่คุณตรวจสอบให้แน่ใจว่า ไดรฟ์ข้อมูลที่ประกอบด้วยการล็อกธุรกรรมถูกปิดใช้งานสำหรับการสร้างชื่อ 8DOT3
ขั้นตอนที่ 2: นโยบาย กลุ่มกาเครื่องหมายสำหรับการปิดใช้งานการสร้างชื่อ 8DOT3
ก่อนที่คุณพยายามที่จะปิดใช้งานการสร้างชื่อ 8DOT3 คุณควรตระหนักว่า การตั้งค่านี้สามารถถูกควบคุมผ่านนโยบายกลุ่ม กรุณาตรวจสอบเพื่อตรวจสอบว่า มีการกำหนดค่า'นโยบายกลุ่ม'การเปลี่ยนแปลงรีจิสทรีคีย์ต่อไปนี้บนเซิร์ฟเวอร์ Exchange:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\NtfsDisable8dot3NameCreation"=dword:00000002
ถ้าตั้งค่านี้ถูกควบคุม โดยนโยบายกลุ่ม ลบการตั้งค่าจากการตั้งค่า'นโยบายกลุ่ม'สำหรับเซิร์ฟเวอร์ Exchange และตั้งค่า NtfsDisable8dot3NameCreation DWORD เป็นค่า2 ซึ่งช่วยให้ไดรฟ์ข้อมูลแต่ละการเปลี่ยนแปลง
หมายเหตุ ถ้ามีใช้ค่า0คุณไม่สามารถเปลี่ยนการตั้งค่าคอนฟิกระดับเสียง
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับคำสั่งFsutil 8dot3nameไปที่เว็บไซต์ของ Microsoft TechNet ดังต่อไปนี้:
ขั้นตอนที่ 3: เปลี่ยนการสร้างชื่อ 8DOT3
เมื่อต้องการปิดใช้งานการสร้างชื่อ 8DOT3 สำหรับไดรฟ์ข้อมูลทั้งหมด เรียกใช้คำสั่งต่อไปนี้:
fsutil 8DOT3name set
ถ้าคุณต้องการปิดการใช้งานเฉพาะบนไดรฟ์ข้อมูลแต่ละตัวที่ประกอบด้วยการล็อกธุรกรรม เรียกใช้คำสั่งต่อไปนี้:
fsutil 8DOT3name set c: 1
หมายเหตุ ในคำสั่งนี้cคือตัวอักษรของไดรฟ์ที่ประกอบด้วยการล็อกธุรกรรม
หรือ คุณสามารถเรียกใช้บนไดรฟ์ข้อมูลระบุ เมื่อต้องการทำเช่นนี้ เรียกใช้คำสั่งต่อไปนี้:
fsutil 8dot3name query Volume{928842df-5a01-11de-a85c-806e6f6e6963}
หลังจากที่คุณเปลี่ยนการตั้งค่าคอนฟิกของไดรฟ์ข้อมูลปิดใช้งานการสร้างชื่อ 8DOT3 คุณสามารถตรวจสอบว่า การตั้งค่าถูกปิดใช้งาน เมื่อต้องการทำเช่นนี้ เรียกใช้คำสั่งต่อไปนี้อีกครั้ง:
fsutil 8DOT3name query c:
ซึ่งทำให้แฟ้มใหม่ที่มีสร้าง หรือคัดลอกทั้งหมดบนไดรฟ์ข้อมูลนี้ในการสร้างชื่อ 8DOT3 สำหรับชื่อแฟ้มไม่ อย่างไรก็ตาม แฟ้มที่มีอยู่ทั้งหมดยังคงประกอบด้วยชื่อ 8DOT3 ดังนั้น คุณจำเป็นต้องแก้ปัญหานี้
ขั้นตอนที่ 4: เอาชื่อ 8DOT3 สำหรับล็อกธุรกรรมที่มีอยู่
ตัวเลือกที่ 1
ตัวเลือกที่คุณต้องการ เรียกใช้การสำรองข้อมูลแบบเต็มบนฐานข้อมูล Exchange อยู่ ซึ่งทำให้เกิดการล็อกธุรกรรมจะถูกตัดทอน และลบแฟ้มบันทึกที่มีอยู่ที่มีชื่อ 8DOT3 หลังจากที่ล็อกธุรกรรมทั้งหมดที่ประกอบด้วยชื่อ 8DOT3 จะถูกตัดให้สั้นลง การย้ายฐานข้อมูลจะไม่ล้มเหลว
ตัวเลือกที่ 2
ถ้าไม่มีตัวเลือกการสำรอง คุณจำเป็นต้องจัดการสำเนาของล็อกธุรกรรมทั้งหมดเพื่อให้แน่ใจว่า ชื่อ 8DOT3 จะถูกเอาออกจากแฟ้ม เมื่อต้องการทำเช่นนี้ ให้ทำตามขั้นตอนเหล่านี้
-
บนเซิร์ฟเวอร์ ที่ประกอบด้วยการแฝงสำเนาของฐานข้อมูล หยุดบริการการจำลองแบบ Exchange Microsoft
-
ใน Windows PowerShell เรียกใช้คำสั่งต่อไปนี้:
stop-service msexchangerepl
-
ใน Windows Explorer ค้นหาโฟลเดอร์ที่คุณกำลังเก็บล็อกธุรกรรม
-
เลือกล็อกธุรกรรมทั้งหมดของชนิด Enn*.log และย้ายไปยังโฟลเดอร์ชั่วคราว ตรวจสอบให้แน่ใจว่า คุณย้ายเฉพาะล็อกธุรกรรมของชนิด Enn*.log คุณควรย้ายไม่มีแฟ้มชนิดอื่น
-
ล็อกธุรกรรมทั้งหมดกลับไปตำแหน่งที่ตั้งเดิม ในกระบวนการนี้ย้าย ชื่อ 8DOT3 จะถูกเอาออก
-
ทำซ้ำกระบวนการนี้สำหรับล็อกธุรกรรมทั้งหมดสำหรับฐานข้อมูลทั้งหมดที่แฝง
-
เริ่มบริการการจำลองแบบ Exchange Microsoft:
start-service msexchangerepl
หมายเหตุ ขั้นตอนนี้ควรจะเสร็จสมบูรณ์ก่อนสำหรับสำเนาแฝงทั้งหมดของฐานข้อมูล
-
ย้ายสำเนาของฐานข้อมูล (ที่ใช้งานอยู่) ติดอยู่กับสำเนาที่มีจัดการล็อกธุรกรรม:
Move-ActiveMailboxDatabase DB2 -ActivateOnServer MBX1 -MountDialOverride:None
-
หยุดบริการการจำลองแบบ Exchange Microsoft และอีกครั้งแล้ว ย้ายล็อกธุรกรรมไปยังตำแหน่งที่ตั้งชั่วคราว และจากนั้น กลับไปยังตำแหน่งที่ตั้งเดิม
-
เริ่มต้นบริการการจำลองแบบ Exchange Microsoft ขณะนี้ ความล้มเหลวของฐานข้อมูลในระหว่างการดำเนินการย้าย activemailboxdatabaseไม่ควรเกิดขึ้น
ข้อมูลเพิ่มเติม
อาการอื่น ๆ ทั่วไปที่เกิดขึ้น ในบันทึกของโปรแกรมประยุกต์ และแฟ้มบันทึกการดำเนินงาน ExchangeHighAvailability ได้ มี เหตุการณ์ปรากฏที่คล้ายกับต่อไปนี้:
เมื่อต้องการตรวจสอบว่า คุณได้ยังคงมีชื่อ 8DOT3 ในล็อกธุรกรรม คุณสามารถเรียกใช้คำสั่งต่อไปนี้ที่พร้อมท์คำสั่งในที่ตั้งล็อกธุรกรรม:dir /x ถ้าธุรกรรมล็อกยังคงประกอบด้วยชื่อ 8DOT3 คุณเห็นบางสิ่งที่คล้ายกับต่อไปนี้:
04/10/2013 04:16 PM 1,048,576 E0C749~1.LOG E0000000118.log 04/10/2013 04:16 PM 1,048,576 E01D7D~1.LOG E0000000119.log 04/10/2013 04:16 PM 1,048,576 E00834~1.LOG E000000011A.log 04/10/2013 04:16 PM 1,048,576 E05DFF~1.LOG E000000011B.log 04/10/2013 04:16 PM 1,048,576 E06DCB~1.LOG E000000011C.log 04/10/2013 04:16 PM 1,048,576 E0F768~1.LOG E000000011D.log
หมายเหตุ ถ้าคุณเห็นชื่อ E0F768~1.log อยู่ในคอลัมน์สุดท้ายถัดไป คุณยังคงได้ล็อกธุรกรรมที่มีชื่อ 8DOT3 ดังนั้น คุณจะยังมีปัญหาเมื่อคุณพยายามที่จะย้ายฐานข้อมูลที่ใช้งานอยู่