Problema durante la creazione di una transazione in un pacchetto SSIS


12

Sto lavorando a un pacchetto che deve utilizzare una transazione ma attualmente sto riscontrando il seguente errore:

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.

Ecco quello che so finora:

  • Pacchetto 2012
  • Sto correndo nella distribuzione del pacchetto
  • La proprietà TransactionOption è impostata su Richiesto
  • In esecuzione su un'istanza di 2008 R2
  • Posso creare manualmente una transazione distribuita sull'istanza e in base al Visualizzatore eventi MSDTC è in esecuzione.
  • MSDTC ha le seguenti impostazioni

inserisci qui la descrizione dell'immagine

Qualcuno può puntare in una direzione per trovare ulteriori informazioni.

Modifica: uno dei passaggi che ho letto ha detto di eseguire DTC sul computer locale che esegue il pacchetto e sul server che contiene l'istanza. Una volta fatto, ho ricevuto un nuovo errore:

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.

Con la parte importante che The transaction manager has disabled its support for remote/network transactions. mi manca qualcosa nelle autorizzazioni? Nota: Allow Remote Clientsè stato anche verificato.

Ho visto il ping di MSDTC menzionato (anche nei commenti seguenti) ma quando l'ho guardato non sono sicuro di cosa farne.


1
Trovate informazioni più dettagliate che mostrano effettivamente alcuni passaggi per la risoluzione dei problemi per DTC e SSIS: richardlees.blogspot.com/2010/01/…

1
Quale metodo stai usando per impostare la tua transazione nel pacchetto SSIS?
Zane,

1
Controlla se nel registro eventi dell'applicazione sono presenti errori da msdtc, ottieni il ping MSDTC support.microsoft.com/en-us/kb/918331
Spörri

@ Spörri Non ho visto nulla nel registro eventi sul client o sul server. Ho guardato MSDTC ma sembra (a prima vista) sopra la mia testa.
Kenneth Fisher,

1
@KennethFisher Intendevo solo servername nel test PowerShell, se hai ricevuto informazioni allora RPC è aperto.
Bob Klimes,

Risposte:


10

Ho risolto il problema Ho letto in diversi punti che DTC deve essere avviato sul computer di origine e sulla destinazione. Quindi al posto mio la mia workstation e il server su cui si trova l'istanza.

Dopo aver attivato MSDTC ho ricevuto un nuovo errore:

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.

Con la parte importante essere The transaction manager has disabled its support for remote/network transactions.

Una volta lì ho fatto ulteriori ricerche e alla fine ho capito che non avevo configurato il mio DTC locale per consentire l'accesso alla rete, ecc. Una volta configurato per consentire l'accesso DTC alla rete, Consenti connessioni remote e Consenti connessioni di uscita tutto ha funzionato senza problemi.

inserisci qui la descrizione dell'immagine

Non sono sicuro che si tratti delle autorizzazioni minime richieste per la connessione locale, ma sembra esserlo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.