
อาการของปัญหา
Autodesk Revit 2024 ค้างและแสดงสถานะ Not Responding ทันทีหลังจากโหลดไฟล์โมเดลครบ 100%
ปัญหาเกิดกับ Local File เพียงไฟล์เดียว ขณะที่ไฟล์โครงการอื่นยังสามารถเปิดได้ตามปกติ และเมื่อลองนำไฟล์ที่มีปัญหาไป Link เข้าโครงการเปล่า Revit ก็ยังไม่สามารถโหลดไฟล์ดังกล่าวได้
ไฟล์นี้ไม่ได้เปิดใช้งาน Worksharing และไม่ได้เกี่ยวข้องกับ Cloud Model หรือ Autodesk Desktop Connector
วิธีที่ทดลองแล้วแต่ไม่สามารถแก้ไขได้
- เปิดไฟล์ด้วย Audit
- ทดลองเปิดไฟล์สำรอง .0001.rvt, .0002.rvt และ .0003.rvt
- ปิด Hardware Acceleration
- อัปเดตไดรเวอร์การ์ดจอ
- ตรวจสอบ Windows ด้วย sfc /scannow
- ตรวจสอบ Add-ins และ Plugins
- ทดลอง Link ไฟล์เข้าโครงการเปล่า
- ตรวจสอบ Worksets และ Worksharing
เนื่องจากเครื่องเพิ่งติดตั้ง Windows และ Revit ใหม่ อีกทั้งไฟล์อื่นสามารถเปิดได้ตามปกติ จึงมีแนวโน้มว่าปัญหาไม่ได้เกิดจากตัวโปรแกรม Revit, GPU หรือระบบ Windows โดยตรง
สภาพแวดล้อมที่พบปัญหา
- Autodesk Revit 2024.3.6
- Build 24.3.60.12
- Windows 11
- Local File แบบไม่ใช้ Worksharing
- SQL LocalDB Instance: SteelConnections2024v15
ผลการตรวจสอบ Revit Journal
จากการตรวจสอบไฟล์ Journal ของ Revit พบข้อความที่เกี่ยวข้องกับ Steel Connections และ SQL LocalDB ดังนี้
SQL instance SteelConnections2024v15 is missing or is malfunctioning
SQLLocalDB instance is malfunctioning
SQL Server process failed to startข้อความดังกล่าวแสดงว่า SQL LocalDB Instance ที่ Revit ใช้สำหรับระบบ Steel Connections ไม่สามารถเริ่มทำงานได้ตามปกติ
แม้ไฟล์โครงการจะเป็น Local File และไม่ได้ใช้งาน Worksharing แต่หากโมเดลมีข้อมูลหรือองค์ประกอบที่เกี่ยวข้องกับ Steel Connections ตัว Revit อาจเรียกใช้งานฐานข้อมูล LocalDB ในช่วงสุดท้ายของการเปิดไฟล์
ด้วยเหตุนี้ Progress Bar จึงโหลดถึง 100% แล้ว แต่ Revit ไม่สามารถทำขั้นตอนสุดท้ายให้เสร็จสมบูรณ์ได้ ทำให้โปรแกรมแสดงสถานะ Not Responding
ตรวจสอบสถานะ SQL LocalDB
เปิด Command Prompt แล้วตรวจสอบรายการ LocalDB Instance ด้วยคำสั่งต่อไปนี้
sqllocaldb infoผลลัพธ์ที่พบ
MSSQLLocalDB
SteelConnections2024v15จากนั้นตรวจสอบรายละเอียดของ Steel Connections Instance
sqllocaldb info SteelConnections2024v15ผลลัพธ์แสดงว่า Instance หยุดทำงาน
Name: SteelConnections2024v15
Version: 15.0.2000.5
Shared name:
Owner: [COMPUTER]\[USER]
Auto-create: No
State: Stopped
Instance pipe name:เมื่อทดลองเริ่ม Instance
sqllocaldb start SteelConnections2024v15ระบบแสดงข้อผิดพลาด
Start of LocalDB instance "SteelConnections2024v15" failed because of the following error:
Error occurred during LocalDB instance startup: SQL Server process failed to start.สาเหตุของปัญหา
สาเหตุเกี่ยวข้องกับการรายงานขนาด Physical Sector ของอุปกรณ์ NVMe ใน Windows ซึ่งไม่สอดคล้องกับข้อจำกัดของ SQL Server LocalDB รุ่นที่ Steel Connections ใช้งาน
ตรวจสอบค่า Sector ด้วยคำสั่ง
fsutil fsinfo sectorinfo C:ก่อนแก้ไขพบค่าประมาณนี้
LogicalBytesPerSector : 512
PhysicalBytesPerSectorForAtomicity : 4096
PhysicalBytesPerSectorForPerformance : 32768
FileSystemEffectivePhysicalBytesPerSectorForAtomicity : 4096
Device Alignment : Aligned (0x000)
Partition alignment on device : Aligned (0x000)
No Seek Penalty
Trim Supported
Not DAX capable
Not Thinly-Provisionedจุดสำคัญคือค่า PhysicalBytesPerSectorForPerformance ถูก Windows รายงานเป็น 32768 bytes ขณะที่ SQL Server LocalDB รุ่นดังกล่าวอาจไม่สามารถเริ่มทำงานภายใต้ค่าที่มากกว่า 4 KB ได้
เมื่อ SteelConnections2024v15 ไม่สามารถเริ่มทำงาน Revit จึงติดอยู่ในขั้นตอนสุดท้ายของการเปิดโมเดล ทำให้ดูเหมือนว่าไฟล์ค้างหลังโหลดครบ 100%
วิธีแก้ไข
ขั้นตอนที่ 1: ปรับค่าการรายงาน Physical Sector
ปิด Revit จากนั้นเปิด Command Prompt ด้วย Run as administrator
รันคำสั่งต่อไปนี้เพื่อเพิ่มค่า ForcedPhysicalSectorSizeInBytes
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\stornvme\Parameters\Device" /v "ForcedPhysicalSectorSizeInBytes" /t REG_MULTI_SZ /d "* 4095" /fเมื่อคำสั่งทำงานสำเร็จ ให้ Restart Windows หนึ่งครั้ง
คำเตือน: ควรสำรอง Registry หรือสร้าง System Restore Point ก่อนดำเนินการ และต้องเปิด Command Prompt ด้วยสิทธิ์ Administrator
ขั้นตอนที่ 2: ตรวจสอบค่า Sector หลัง Restart
หลังจาก Windows เริ่มทำงานใหม่ ให้เปิด Command Prompt แล้วตรวจสอบค่า Sector อีกครั้ง
fsutil fsinfo sectorinfo C:หลังแก้ไข ค่า Physical Sector ควรแสดงเป็น 4096 ทั้งสองรายการ
LogicalBytesPerSector : 512
PhysicalBytesPerSectorForAtomicity : 4096
PhysicalBytesPerSectorForPerformance : 4096
FileSystemEffectivePhysicalBytesPerSectorForAtomicity : 4096
Device Alignment : Aligned (0x000)
Partition alignment on device : Aligned (0x000)
No Seek Penalty
Trim Supported
Not DAX capable
Not Thinly-Provisionedขั้นตอนที่ 3: ทดสอบ Steel Connections LocalDB
หลังจากตรวจสอบค่า Sector แล้ว ให้ทดลองเริ่ม Steel Connections LocalDB Instance อีกครั้ง
sqllocaldb start SteelConnections2024v15หากยังพบข้อผิดพลาดต่อไปนี้ แสดงว่า Instance เดิมอาจเสียหายหรือถูกสร้างขึ้นก่อนปรับค่า Sector
Start of LocalDB instance "SteelConnections2024v15" failed because of the following error:
Error occurred during LocalDB instance startup: SQL Server process failed to start.ในกรณีนี้จำเป็นต้องลบ Instance เดิม แล้วสร้าง SteelConnections2024v15 ขึ้นมาใหม่
ขั้นตอนที่ 4: ลบ LocalDB Instance เดิม
ตรวจสอบให้แน่ใจว่า Revit และโปรแกรมที่เกี่ยวข้องปิดอยู่ จากนั้นรันคำสั่งต่อไปนี้
sqllocaldb delete SteelConnections2024v15ผลลัพธ์เมื่อดำเนินการสำเร็จ
LocalDB instance "SteelConnections2024v15" deleted.คำเตือน: การลบ LocalDB Instance อาจลบฐานข้อมูลที่ผูกอยู่กับ Instance นั้นด้วย ควรสำรองข้อมูลที่เกี่ยวข้องก่อนดำเนินการ
ขั้นตอนที่ 5: สร้าง LocalDB Instance ใหม่
สร้าง SteelConnections2024v15 ใหม่ด้วย SQL LocalDB 15.0 และสั่งให้ Instance เริ่มทำงานทันที
sqllocaldb create SteelConnections2024v15 15.0 -sผลลัพธ์เมื่อสร้างและเริ่ม Instance สำเร็จ
LocalDB instance "SteelConnections2024v15" created with version 15.0.2000.5.
LocalDB instance "SteelConnections2024v15" started.ตรวจสอบสถานะของ Instance อีกครั้ง
sqllocaldb info SteelConnections2024v15หากแก้ไขสำเร็จ จะพบสถานะ Running พร้อม Instance Pipe Name
Name: SteelConnections2024v15
Version: 15.0.2000.5
Shared name:
Owner: [COMPUTER]\[USER]
Auto-create: No
State: Running
Last start time: [DATE AND TIME]
Instance pipe name: np:\\.\pipe\LOCALDB#[INSTANCE]\tsql\queryขั้นตอนที่ 6: เปิดไฟล์ใน Revit อีกครั้ง
เปิด Autodesk Revit 2024 แล้วทดลองเปิดไฟล์ที่เคยค้างหลังโหลดครบ 100% อีกครั้ง
เมื่อ Steel Connections LocalDB สามารถเริ่มทำงานได้ตามปกติ Revit จะสามารถดำเนินการขั้นตอนสุดท้ายของการเปิดโมเดลได้สำเร็จ
หลังจากยืนยันว่าไฟล์เปิดได้แล้ว สามารถเปิด Hardware Acceleration กลับมาได้ เนื่องจากปัญหานี้ไม่ได้เกิดจาก GPU หรือไดรเวอร์การ์ดจอ
ผลลัพธ์
หลังจากปรับค่าการรายงาน Physical Sector และสร้าง SteelConnections2024v15 ใหม่ SQL LocalDB สามารถเริ่มทำงานได้ตามปกติ และไฟล์ Revit ที่เคยค้างหลังโหลดครบ 100% สามารถเปิดได้สำเร็จ
ทำไมการแก้ไขทั่วไปจึงไม่ได้ผล
การเปิดด้วย Audit, ปิด Hardware Acceleration, อัปเดตไดรเวอร์ หรือตรวจสอบ Windows ไม่สามารถแก้ไขปัญหานี้ได้ เพราะสาเหตุไม่ได้อยู่ที่ข้อมูลกราฟิกหรือโครงสร้างหลักของไฟล์ RVT
ปัญหาเกิดขึ้นในบริการ SQL LocalDB ที่ Revit เรียกใช้งานสำหรับ Steel Connections ระหว่างขั้นตอนสุดท้ายของการเปิดโมเดล การแก้ไขจึงต้องดำเนินการที่ Physical Sector และ Steel Connections LocalDB Instance โดยตรง
สรุป
ปัญหา Revit 2024 ค้างหลังโหลดไฟล์ครบ 100% ในกรณีนี้ไม่ได้เกิดจากไฟล์ RVT เสียโดยตรง รวมถึงไม่ได้เกิดจาก Add-ins, Worksharing หรือ Hardware Acceleration
สาเหตุที่แท้จริงคือ SteelConnections2024v15 SQL LocalDB ไม่สามารถเริ่มทำงานได้ เนื่องจากการรายงาน Physical Sector ของ NVMe ไม่เข้ากับ SQL Server LocalDB รุ่นที่ใช้งาน
แนวทางแก้ไขประกอบด้วยขั้นตอนต่อไปนี้
- เพิ่มค่า ForcedPhysicalSectorSizeInBytes ใน Registry
- Restart Windows
- ตรวจสอบให้ Physical Sector แสดงเป็น 4096
- ทดสอบ SteelConnections2024v15
- ลบ LocalDB Instance เดิมที่ไม่สามารถเริ่มทำงานได้
- สร้าง SteelConnections2024v15 ใหม่
- ตรวจสอบให้ Instance มีสถานะ Running
- เปิดไฟล์ใน Revit อีกครั้ง
หมายเหตุ: แนวทางนี้เป็นกรณีศึกษาจากอาการและผลการตรวจสอบจริง ควรสำรองข้อมูลและ Registry ก่อนดำเนินการแก้ไขทุกครั้ง
