it-swarm.com.de

Problem beim Erstellen einer Transaktion in einem SSIS-Paket

Ich arbeite an einem Paket, das eine Transaktion verwenden muss, aber derzeit wird der folgende Fehler angezeigt:

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.

Folgendes weiß ich bisher:

  • 2012 Paket
  • Ich verwende die Paketbereitstellung
  • Die TransactionOption-Eigenschaft ist auf Erforderlich festgelegt
  • Wird gegen eine 2008 R2-Instanz ausgeführt
  • Ich kann eine verteilte Transaktion manuell auf der Instanz erstellen und gemäß der Ereignisanzeige wird MSDTC ausgeführt.
  • MSDTC hat die folgenden Einstellungen

(enter image description here

Kann jemand in eine Richtung zeigen, um zusätzliche Informationen zu finden.

Bearbeiten: Einer der Schritte, die ich gelesen habe, besagt, dass DTC auf dem lokalen Computer ausgeführt wird, auf dem das Paket ausgeführt wird, sowie auf dem Server, auf dem sich die Instanz befindet. Sobald ich das getan habe, habe ich einen neuen Fehler bekommen:

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.

Mit dem wichtigen Teil ist The transaction manager has disabled its support for remote/network transactions. Vermisse ich etwas in den Berechtigungen? Beachten Sie das Allow Remote Clients wurde ebenfalls überprüft.

Ich habe gesehen, dass MSDTC-Ping erwähnt wurde (einschließlich in den Kommentaren unten), aber als ich es mir ansah, bin ich mir nicht ganz sicher, was ich damit machen soll.

12
Kenneth Fisher

Ich habe das Problem gelöst. Ich hatte an mehreren Stellen gelesen, dass DTC sowohl auf dem Quellcomputer als auch auf dem Ziel gestartet werden muss. An meiner Stelle befindet sich also meine Workstation sowie der Server, auf dem sich die Instanz befindet.

Nachdem ich MSDTC aktiviert hatte, erhielt ich eine neue Fehlermeldung:

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.

Mit dem wichtigen Teil ist The transaction manager has disabled its support for remote/network transactions.

Dort habe ich zusätzliche Nachforschungen angestellt und schließlich festgestellt, dass ich meinen lokalen DTC nicht so konfiguriert habe, dass Netzwerkzugriff usw. zulässig ist. Nachdem ich ihn so konfiguriert habe, dass Netzwerk-DTC-Zugriff, Remoteverbindungen zulassen und Ausgabeverbindungen zulassen, funktionierte alles reibungslos.

(enter image description here

Ich bin nicht sicher, ob dies die Mindestberechtigung für die lokale Verbindung ist, aber es scheint so.

10
Kenneth Fisher