อาการ
เมื่อคุณพยายามเริ่ม Application Object Server (AOS) ของ Microsoft Dynamics AX 4.0 AOS จะไม่เริ่มต้น นอกจากนี้ คุณจะได้รับหนึ่งในข้อความแสดงข้อผิดพลาดต่อไปนี้:
ข้อผิดพลาด 100: ไม่สามารถสร้างเซมาฟอร์ระบบอื่นได้
Object Server 01: กล่องโต้ตอบที่ออกให้ในเซสชันที่ไม่ต้องไคลเอ็นต์ 1: โปรแกรมไม่สามารถโหลดและเรียกใช้คลาส 'SqlDatabaseInit' ซึ่งมีความเป็นสิ่งหลักในการระบุผู้จัดซื้อฐานข้อมูล และโหลดตัวแปรระบบ SQL ที่เหมาะสม ปัญหานี้อาจเกิดจากสิทธิ์การเข้าถึงไปยังฐานข้อมูล SQL, ไฟล์แอปพลิเคชันที่หายไปหรือเสียหาย หรือข้อผิดพลาดทางไวยากรณ์ภายในคลาสเอง
สาเหตุ
ปัญหานี้อาจเกิดขึ้นเนื่องจากหลายเงื่อนไขที่แตกต่างกัน เมื่อต้องการระบุสาเหตุเฉพาะของข้อความแสดงข้อผิดพลาด เราขอแนะนนะให้คุณค้นหาในบันทึกแอปพลิเคชันเพื่อค้นหาข้อความแสดงข้อผิดพลาดที่มีความหมายมากขึ้น โดยทำตามขั้นตอนต่อไปนี้:
-
คลิก เริ่มชี้ไปที่ โปรแกรมทั้งหมดชี้ไปที่ เครื่องมือการดูแลระบบ แล้วคลิก ตัวแสดงเหตุการณ์
-
ภายใต้ตัวแสดงเหตุการณ์ (ภายใน)ให้คลิกแอปพลิเคชัน
-
ในบานหน้าต่างด้านขวา ให้เลื่อนรายการข้อความลงเพื่อค้นหาข้อความแสดงข้อผิดพลาด
-
ดับเบิลคลิกที่ข้อความแสดงข้อผิดพลาดเพื่อระบุว่าข้อความนั้นใช้กับสถานการณ์ของคุณหรือไม่
ข้อความแสดงข้อผิดพลาดที่คุณพบอาจระบุว่าเงื่อนไขอย่างน้อยหนึ่งข้อต่อไปนี้เป็นจริง:
-
บริการSQL Server Microsoft ไม่เริ่มใช้งาน
-
บัญชีที่ใช้เริ่มต้น AOS ไม่มีบทบาทฐานข้อมูลที่ถูกต้องในSQL Server
-
เกินจํานวนสิทธิ์การใช้งาน AOS
-
ลSQL Serverของฐานข้อมูลไม่ถูกต้องตรงตามตัวพิมพ์ใหญ่-เล็ก
หมายเหตุ รายการนี้รวมถึงสาเหตุที่ทราบแล้วของข้อความแสดงข้อผิดพลาดนี้ อาจมีสาเหตุอื่น
การแก้ไข
เมื่อต้องการแก้ไขปัญหานี้หลังจากที่คุณตรวจสอบว่ามีข้อความแสดงข้อผิดพลาดเฉพาะกับสถานการณ์ของคุณ ให้ใช้วิธีใดวิธีหนึ่งต่อไปนี้ ตามความเหมาะสมกับสถานการณ์ของคุณ
หมายเหตุ คุณอาจต้องใช้มากกว่าหนึ่งวิธีเพื่อแก้ไขปัญหานี้
วิธีที่ 1: เริ่มSQL Serverบริการ
AOS ขึ้นอยู่กับSQL Serverบริการเริ่มต้น ถ้าSQL Serverบริการของคุณไม่เริ่มต้น AOS จะไม่เริ่มต้น
ใช้หนึ่งในขั้นตอนต่อไปนี้ตามความเหมาะสมกับเวอร์ชันของSQL Serverที่คุณเรียกใช้
Microsoft SQL Server 2000
เมื่อต้องการเริ่มบริการ SQL Server 2000 ให้ปฏิบัติตามขั้นตอนเหล่านี้:
-
คลิกเริ่ม ชี้ไปที่โปรแกรมทั้งหมดชี้ไปที่เครื่องมือดูแลจัดการระบบแล้วคลิกบริการ
-
ค้นหาบริการMSSQLServer
-
ถ้าบริการยังไม่เริ่มต้น ให้คลิกขวาที่บริการ แล้วคลิกเริ่ม
Microsoft SQL Server 2005
เมื่อต้องการเริ่มบริการ SQL Server 2005 ให้ปฏิบัติตามขั้นตอนเหล่านี้:
-
คลิกเริ่ม ชี้ไปที่โปรแกรมทั้งหมดชี้ไปที่เครื่องมือดูแลจัดการระบบแล้วคลิกบริการ
-
ค้นหาSQL Server (MSSQLServer)
-
ถ้าบริการยังไม่เริ่มต้น ให้คลิกขวาที่บริการ แล้วคลิกเริ่ม
วิธีที่ 2: ตรวจสอบให้แน่ใจว่าบัญชีที่ใช้เริ่มต้น AOS มีบทบาทฐานข้อมูลที่ถูกต้องSQL Server
บัญชีที่ใช้ในการเริ่มบริการ AOS ต้องมีบทบาทฐานข้อมูลต่อไปนี้อย่างน้อยหนึ่งบทบาทที่มอบหมายในSQL Server:
-
db_ddladmin
-
db_datareader
-
db_datawriter
เมื่อต้องการตรวจสอบว่าบัญชีมีบทบาทฐานข้อมูลที่ถูกต้องหรือไม่ ให้ปฏิบัติตามขั้นตอนเหล่านี้:
-
ระบุบัญชีที่ใช้เพื่อเริ่มบริการ AOS โดยทำตามขั้นตอนต่อไปนี้:
-
คลิกเริ่ม ชี้ไปที่โปรแกรมทั้งหมดชี้ไปที่เครื่องมือดูแลจัดการระบบแล้วคลิกบริการ
-
ค้นหาบริการที่เริ่มต้นด้วยDynamics Server$
-
คลิกขวาที่บริการ แล้วคลิกคุณสมบัติ
-
คลิกแท็บเข้าสู่ระบบ
-
ภายใต้ เข้าสู่ระบบเป็น ให้ระบุบัญชีที่ใช้เพื่อเข้าสู่ระบบบริการ AOS
หมายเหตุ-
ตามค่าเริ่มต้น บัญชีผู้ใช้ NT Authority\Network Service จะใช้เพื่อเข้าสู่ระบบบริการ AOS
-
ถ้าบริการ AOS อยู่บนคอมพิวเตอร์เครื่องเดียวกับSQL Serverบัญชีที่SQL Serverสิทธิ์คือบัญชีNT Authority\Network Service
-
ถ้าบริการ AOS ใช้งานบนคอมพิวเตอร์เครื่องอื่นจาก SQL Server บัญชีที่ต้องใช้สิทธิ์ของเซิร์ฟเวอร์ SQL คือชื่อคอมพิวเตอร์ของบริการ AOS ที่ใช้บริการ AOS อยู่ รูปแบบของชื่อคอมพิวเตอร์มีดังนี้
โดเมน\computer_name$ในกรณีนี้ โดเมน คือชื่อของโดเมนเครือข่าย computer_name$ คือชื่อของเซิร์ฟเวอร์ AOS
-
-
-
ใช้หนึ่งในขั้นตอนต่อไปนี้ตามความเหมาะสมกับเวอร์ชันของSQL Serverที่คุณเรียกใช้
SQL Server 2000 For SQL Server 2000 ให้ปฏิบัติตามขั้นตอนเหล่านี้:
-
คลิกเริ่ม ชี้ไปที่โปรแกรมทั้งหมดชี้ไปที่Microsoft SQL Serverแล้วคลิกตัวจัดการองค์กร
-
ขยายMicrosoft SQL Servers
-
ขยายSQL Server กลุ่ม
-
ขยาย(ภายในเครื่อง) (Windows NT)
-
ขยายความปลอดภัย
-
คลิกเข้าสู่ระบบ
-
คลิกขวาที่บัญชีที่คุณกําหนดไว้ในขั้นตอนที่ 1 แล้วคลิกคุณสมบัติ
-
คลิกแท็บ Access ของฐานข้อมูล
-
คลิกฐานข้อมูล Ax oracle แล้วตรวจสอบว่าได้เลือกบทบาทฐานข้อมูลต่อไปนี้แล้ว
-
db_ddladmin
-
db_datareader
-
db_datawriter
-
-
คลิก ตกลง
-
ขยายฐานข้อมูล
-
ขยายฐานข้อมูล Dynamics
-
คลิก กระบวนงานที่เก็บไว้ แล้วค้นหากระบวนงานที่เก็บไว้ต่อไปนี้
-
createserversessions
-
createusersessions
-
-
คลิกขวาที่กระบวนงานที่เก็บไว้ แล้วคลิกคุณสมบัติ
-
คลิกสิทธิ์
-
ค้นหาบัญชีที่คุณกําหนดไว้ในขั้นตอนที่ 1 คลิกเพื่อเลือกกล่องกาเครื่องหมาย EXECแล้วคลิกตกลง
หมายเหตุ ทําซ้ําขั้นตอนที่ 2n ถึง 2p สํารหรับกระบวนงานอื่นที่จัดเก็บไว้ในขั้นตอนที่ 2m
SQL Server 2005 For SQL Server 2005 ให้ปฏิบัติตามขั้นตอนเหล่านี้:
-
คลิกเริ่มต้น ชี้ไปที่โปรแกรมทั้งหมดชี้ไปที่Microsoft SQL Server 2005แล้วคลิก SQL Server Management Studio
-
บนแท็บสรุปให้ดับเบิลคลิกที่ความปลอดภัย
-
ดับเบิลคลิกที่เข้าสู่ระบบ
-
คลิกขวาที่บัญชีที่คุณกําหนดไว้ในขั้นตอนที่ 1 แล้วคลิกคุณสมบัติ
-
คลิก การแมปผู้ใช้
-
คลิกฐานข้อมูล Ax oracle แล้วตรวจสอบว่าได้เลือกบทบาทฐานข้อมูลต่อไปนี้แล้ว
-
db_ddladmin
-
db_datareader
-
db_datawriter
-
-
คลิก ตกลง
-
ขยายฐานข้อมูล
-
ขยายฐานข้อมูล Dynamics
-
ขยายความสามารถในการโปรแกรม
-
ขยาย กระบวนงานที่เก็บไว้
-
ค้นหากระบวนงานที่เก็บไว้ต่อไปนี้:
-
createserversessions
-
createusersessions
-
-
คลิกขวาที่กระบวนงานที่เก็บไว้ แล้วคลิกคุณสมบัติ
-
คลิกสิทธิ์
-
ค้นหาบัญชีที่คุณกําหนดไว้ในขั้นตอนที่ 1 คลิกเพื่อเลือก กล่องกาเครื่องหมาย ให้ สิทธิ์ ของสิทธิ์ EXECแล้วคลิกตกลง
หมายเหตุ ทําซ้ําขั้นตอนที่ 2 ม. ถึง 2o เพื่อให้กระบวนการอื่นๆ ที่จัดเก็บในขั้นตอนที่ 2l
-
วิธีที่ 3: ระบุว่าจํานวนสิทธิ์การใช้งาน AOS เกินจํานวนหรือไม่
เมื่อต้องการตรวจสอบว่าจํานวนของคุณจะได้รับสิทธิ์การใช้งานในปัจจุบันเกินหรือไม่ ให้ปฏิบัติตามขั้นตอนเหล่านี้:
-
เริ่ม Microsoft Dynamics AX 4.0 แล้วเข้าสู่ระบบ
-
คลิก การดูแลระบบ
-
ขยายตั้งค่า
-
ขยายระบบ
-
คลิก ข้อมูลสิทธิ์การใช้งาน
-
บนแท็บ ระบบ ให้เลือก เซิร์ฟเวอร์ วัตถุแอปพลิเคชัน ภายใต้ รายละเอียดโค้ด
-
ในคอลัมน์ สถานะ ให้สังเกตจํานวนของที่คุณสิทธิ์การใช้งานในปัจจุบัน
หมายเหตุ เมื่อต้องการเริ่ม AOS เพิ่มเติม คุณสามารถปิด AOS ที่เรียกใช้อยู่ได้ อีกวิธีหนึ่งคือ คุณสามารถซื้อสิทธิ์การใช้งาน AOS เพิ่มเติมได้
วิธีที่ 4: ตรวจสอบให้แน่ใจว่าลSQL ServerลSQL Serverฐานข้อมูลนั้นไม่ตรงตามตัวพิมพ์ใหญ่-เล็ก
ใน Microsoft Dynamics AX 4.0 ล.ก. การเรียงล.ก. ของฐานข้อมูลจะต้องตรงตามตัวพิมพ์เล็กและตัวพิมพ์ใหญ่-เล็ก
เมื่อต้องการระบุลSQL Serverในสถานการณ์ของคุณ ให้ใช้หนึ่งในขั้นตอนต่อไปนี้ตามความเหมาะสมกับเวอร์ชันSQL Serverที่คุณเรียกใช้
Microsoft SQL Server 2000
For Microsoft SQL Server 2000, follow these steps:
-
คลิกเริ่ม ชี้ไปที่โปรแกรมทั้งหมดชี้ไปที่Microsoft SQL Serverแล้วคลิก ตัววิเคราะห์คิวรี
-
เข้าสู่ระบบตัววิเคราะห์คิวรี แล้วเรียกใช้สคริปต์ต่อไปนี้:
sp_helpsort
Microsoft SQL Server 2005
For Microsoft SQL Server 2005, follow these steps:
-
คลิกเริ่มต้น ชี้ไปที่โปรแกรมทั้งหมดชี้ไปที่Microsoft SQL Server 2005แล้วคลิก SQL Server Management Studio
-
คลิก คิวรีใหม่ แล้วเรียกใช้สคริปต์ต่อไปนี้
sp_helpsort
In the script results list, there should be a listing that states either "case-insensitive" or "case-sensitive"