สาเหตุที่ผมพบปัญหานี้เนื่องจากผมต้องทำการย้ายระบบทั้งหมด จากเซิร์ฟเวอร์เดิมซึ่งเป็น 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 ตามรูป
- All Inbound หมายถึง ยอมให้ distributed transaction ทำงานบนคอมพิวเตอร์เครื่องนี้ จากเครื่องอื่นๆได้
- All Outbond หมายถึง ยอมให้ distributed transaction ทำงานบนคอมพิวเตอร์อื่นๆ จากเครื่องนี้ได้
และต้องเลือก No Authentication Required ด้วยจึงจะทำงานได้
เป็นไงครับ ดูไม่ยุ่งยาก แต่ทำเอาผมเป็นไมเกรนไปเลยครับ 2 วันเต็มๆ ทำกันได้นะ ไมโครซอฟท์
อิ อิ
No comments:
Post a Comment