Masalah membuat transaksi dalam paket SSIS

12

Saya sedang mengerjakan paket yang perlu menggunakan transaksi tetapi saya saat ini mendapatkan kesalahan berikut:

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.

Inilah yang saya tahu sejauh ini:

  • Paket 2012
  • Saya menjalankan penyebaran paket
  • Properti TransactionOption diatur ke Diperlukan
  • Berjalan melawan instance 2008 R2
  • Saya dapat membuat transaksi terdistribusi secara manual pada instance dan menurut MSDTC acara penampil berjalan.
  • MSDTC memiliki pengaturan berikut

masukkan deskripsi gambar di sini

Adakah yang bisa menunjukkan arah untuk mencari informasi tambahan.

Sunting: Salah satu langkah yang saya baca mengatakan untuk menjalankan DTC pada mesin lokal yang menjalankan paket serta server yang memegang instance. Setelah saya melakukan itu, saya mendapat kesalahan baru:

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.

Dengan bagian yang penting, apakah The transaction manager has disabled its support for remote/network transactions. saya melewatkan sesuatu dalam izin? Catatan: Allow Remote Clientssudah juga diperiksa.

Saya telah melihat ping MSDTC yang disebutkan (termasuk dalam komentar di bawah) tetapi ketika saya melihatnya saya tidak yakin apa yang harus dilakukan dengannya.

Kenneth Fisher
sumber
1
Menemukan info yang lebih terperinci yang benar-benar menunjukkan beberapa langkah pemecahan masalah untuk DTC dan SSIS: richardlees.blogspot.com/2010/01/…
1
Metode apa yang Anda gunakan untuk mengatur transaksi Anda dalam paket SSIS?
Zane
1
Periksa log peristiwa aplikasi untuk setiap kesalahan dari msdtc, dapatkan MSDTC ping support.microsoft.com/en-us/kb/918331
Spörri
@ Spörri Saya tidak melihat apa pun di log peristiwa di klien atau server. Saya sudah melihat MSDTC tetapi terlihat (sekilas) di atas kepala saya.
Kenneth Fisher
1
@KennethFisher Saya hanya bermaksud servername dalam tes PowerShell, jika Anda mendapat info saat itu maka RPC terbuka.
Bob Klimes

Jawaban:

10

Saya memecahkan masalah. Saya telah membaca di beberapa tempat bahwa DTC perlu dijalankan pada mesin sumber serta tujuan. Jadi, di tempat saya workstation saya dan juga server instance sedang aktif.

Setelah saya mengaktifkan MSDTC, saya menerima kesalahan baru:

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.

Dengan bagian yang penting The transaction manager has disabled its support for remote/network transactions.

Setelah di sana saya melakukan riset tambahan dan akhirnya menyadari bahwa saya belum mengkonfigurasi DTC lokal saya untuk memungkinkan Akses Jaringan, dll.

masukkan deskripsi gambar di sini

Saya tidak yakin ini adalah izin minimum yang diperlukan untuk koneksi lokal tetapi tampaknya demikian.

Kenneth Fisher
sumber