ปัญหาในการสร้างธุรกรรมในแพ็คเกจ SSIS


12

ฉันกำลังทำงานกับแพ็คเกจที่ต้องใช้ธุรกรรม แต่ขณะนี้ฉันได้รับข้อผิดพลาดต่อไปนี้:

SSIS package "CATS-Package.dtsx" starting.
Information: 0x4004300A at Data Flow Task, SSIS.Pipeline: Validation phase is beginning.
Information: 0x4001100A at CATS-Package: Starting distributed transaction for this container.
Error: 0xC001401A at CATS-Package: The SSIS Runtime has failed to start the distributed transaction due to error 0x8004D01B "The Transaction Manager is not available.". The DTC transaction failed to start. This could occur because the MSDTC Service is not running.
SSIS package "CATS-Package.dtsx" finished: Failure.

นี่คือสิ่งที่ฉันรู้จนถึงตอนนี้:

  • แพ็คเกจปี 2012
  • ฉันกำลังทำงานในการปรับใช้แพคเกจ
  • กระบวนการ TransactionOption ตั้งค่าเป็นสิ่งที่จำเป็น
  • ทำงานกับอินสแตนซ์ 2008 R2
  • ฉันสามารถสร้างธุรกรรมแบบกระจายได้ด้วยตนเองบนอินสแตนซ์และการอ้างอิงไปยังตัวแสดงเหตุการณ์ MSDTC กำลังทำงานอยู่
  • MSDTC มีการตั้งค่าดังต่อไปนี้

ป้อนคำอธิบายรูปภาพที่นี่

ทุกคนสามารถชี้ไปในทิศทางเพื่อค้นหาข้อมูลเพิ่มเติมได้

แก้ไข:หนึ่งในขั้นตอนที่ฉันอ่านได้กล่าวเพื่อรัน DTC บนเครื่องโลคัลที่รันแพ็คเกจรวมถึงเซิร์ฟเวอร์ที่เก็บอินสแตนซ์ เมื่อฉันทำฉันได้รับข้อผิดพลาดใหม่:

Information: 0x4001100A at CATS-Package: Starting distributed transaction for this container.
Error: 0xC001402C at CATS-Package, Connection manager "connectionName": The SSIS Runtime has failed to enlist the OLE DB connection in a distributed transaction with error 0x8004D024 "The transaction manager has disabled its support for remote/network transactions.".
Error: 0xC0202009 at CATS-Package, Connection manager "connectionName": SSIS Error Code DTS_E_OLEDBERROR.  An OLE DB error has occurred. Error code: 0x8004D024.
Error: 0xC00291EC at Execute SQL Task - Max Product ID, Execute SQL Task: Failed to acquire connection "connectionName". Connection may not be configured correctly or you may not have the right permissions on this connection.

ด้วยส่วนที่สำคัญคือThe transaction manager has disabled its support for remote/network transactions. ฉันไม่มีอะไรในสิทธิ์หรือไม่ หมายเหตุ: Allow Remote Clientsยังได้รับการตรวจสอบ

ฉันเคยเห็น MSDTC ping ที่กล่าวถึง (รวมถึงความคิดเห็นด้านล่าง) แต่เมื่อฉันดูมันฉันไม่แน่ใจว่าจะทำอย่างไรกับมัน


1
พบข้อมูลรายละเอียดเพิ่มเติมที่แสดงขั้นตอนการแก้ปัญหาสำหรับ DTC และ SSIS จริง ๆ แล้ว: richardlees.blogspot.com/2010/01/…

1
คุณใช้วิธีใดในการตั้งค่าธุรกรรมของคุณในแพ็คเกจ SSIS
Zane

1
ตรวจสอบบันทึกเหตุการณ์ของแอปพลิเคชันสำหรับข้อผิดพลาดจาก msdtc รับ MSDTC ping support.microsoft.com/en-us/kb/918331
Spörri

@ Spörriฉันไม่เห็นสิ่งใดในบันทึกเหตุการณ์บนไคลเอนต์หรือเซิร์ฟเวอร์ ฉันดูที่ MSDTC แต่มันดูเหมือน (แวบแรก) บนหัวของฉัน
Kenneth Fisher

1
@ KennethFisher ฉันแค่หมายถึงชื่อเซิร์ฟเวอร์ในการทดสอบ PowerShell ถ้าคุณได้รับข้อมูลกลับมาแล้ว RPC ก็เปิดอยู่
Bob Klimes

คำตอบ:


10

ฉันแก้ไขปัญหา ฉันได้อ่านในหลาย ๆ ที่ที่ DTC ต้องเริ่มต้นบนเครื่องต้นทางเช่นเดียวกับปลายทาง ดังนั้นในสถานที่ของฉันเวิร์กสเตชันของฉันเช่นเดียวกับเซิร์ฟเวอร์อินสแตนซ์ที่อยู่ใน

เมื่อฉันเปิด MSDTC เมื่อฉันได้รับข้อผิดพลาดใหม่:

Information: 0x4001100A at CATS-Package: Starting distributed transaction for this container.
Error: 0xC001402C at CATS-Package, Connection manager "connectionName": The SSIS Runtime has failed to enlist the OLE DB connection in a distributed transaction with error 0x8004D024 "The transaction manager has disabled its support for remote/network transactions.".
Error: 0xC0202009 at CATS-Package, Connection manager "connectionName": SSIS Error Code DTS_E_OLEDBERROR.  An OLE DB error has occurred. Error code: 0x8004D024.
Error: 0xC00291EC at Execute SQL Task - Max Product ID, Execute SQL Task: Failed to acquire connection "connectionName". Connection may not be configured correctly or you may not have the right permissions on this connection.

ด้วยส่วนสำคัญ The transaction manager has disabled its support for remote/network transactions.

เมื่อฉันทำการวิจัยเพิ่มเติมและในที่สุดฉันก็รู้ว่าฉันไม่ได้กำหนดค่า DTC ในพื้นที่ของฉันให้อนุญาตการเข้าถึงเครือข่าย ฯลฯ เมื่อฉันกำหนดค่าให้อนุญาตการเข้าถึงเครือข่าย DTC อนุญาตการเชื่อมต่อระยะไกลและอนุญาตการเชื่อมต่อผลลัพธ์ทุกอย่างทำงานได้อย่างราบรื่น

ป้อนคำอธิบายรูปภาพที่นี่

ฉันไม่แน่ใจว่านี่เป็นสิทธิ์ขั้นต่ำที่จำเป็นสำหรับการเชื่อมต่อท้องถิ่น แต่ดูเหมือนจะเป็น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.