สาเหตุที่ผมพบปัญหานี้เนื่องจากผมต้องทำการย้ายระบบทั้งหมด จากเซิร์ฟเวอร์เดิมซึ่งเป็น Windows 2000 ไปยังเซิร์ฟเวอร์ใหม่ืที่เป็น Windows 2003 เมื่อผมติดตั้ง COM+ เสร็จเรียบร้อยแล้ว ผมกลับเรียกใช้ไม่ได้ เนื่องจากจะเกิด error ดังที่กล่าวไว้แล้ว
ผมจึงเริ่มต้นด้วยการค้นหาวิธีแก้ปัญหานี้และได้พบกับ blog ของ Mark Brown ซึ่งได้เคยเขียนวิธีแก้ไขปัญหานี้ไว้แล้วเมื่อ 30 ธันวาคม 2548 (:-P)
Troubleshooting a MSDTC issue between Windows XP SP2/SP1 + SQL 2005 and Windows 2003 SP1 + SQL 2000
ซึ่งเขาแนะนำให้ทำตามขั้นตอนของไมโครซอฟท์ตามนี้ http://support.microsoft.com/?kbid=873160
โดยผมขอสรุปง่ายคือว่า ใน Windows XP SP2 และ Windows 2003 ได้เพิ่มระบบรักษาความปลอดภัยมากขึ้น โดย default จะไม่ยอมให้แต่ละเครื่องที่ติดตั้ง Component Service ทำการติดต่อ transaction กันได้ ต้ิองทำการอนุญาตก่อนจึงสามารถใช้ได้ โดยการตั้งค่าใน Component Services ในส่วนของ Security Configuration ตามรูป
โดยในส่วนของ Transaction Manager Communication ประกอบด้วย
- All Inbound หมายถึง ยอมให้ distributed transaction ทำงานบนคอมพิวเตอร์เครื่องนี้ จากเครื่องอื่นๆได้
- All Outbond หมายถึง ยอมให้ distributed transaction ทำงานบนคอมพิวเตอร์อื่นๆ จากเครื่องนี้ได้
และต้องเลือก No Authentication Required ด้วยจึงจะทำงานได้
เป็นไงครับ ดูไม่ยุ่งยาก แต่ทำเอาผมเป็นไมเกรนไปเลยครับ 2 วันเต็มๆ ทำกันได้นะ ไมโครซอฟท์
อิ อิ
No comments:
Post a Comment