2009-09-15 13 views
10

Durante la creazione di un pacchetto SSIS per SQL Server 2008 mi imbatto nel seguente errore:Perché il runtime di SSIS non riesce ad avviare la transazione distribuita?

Error: 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.

sto creando ed eseguendo il pacchetto localmente sulla mia macchina, ma il database si trova su un server, che esegue Windows Server 2008, che è non nel dominio.

Mi sono assicurato che il servizio DTC sia avviato sia localmente che sul server e ho aggiunto le eccezioni del firewall predefinite nel firewall di Windows Vista.

Perché il runtime di SSIS non riesce ad avviare la transazione distribuita?

risposta

5

controllare la mia soluzione a questo problema qui [http://faiz.kera.la/2009/08/26/ssis-transaction-enabled-tasks-fail-due-to-msdtc]

Questo è uno scenario comune, se le macchine non sono in un dominio o in esecuzione Windows XP.

Modifica: il collegamento è morto. Il testo originale dal link sembra essere:

In my current project we have multiple SSIS developers in team and we all were sharing the database server instance in my system. We faced an issue yesterday when a team mate was trying to implement transactions in SSIS. The package fails in other machines although it is running smooth in my system where the database resides. The error message thrown out was,

The SSIS Runtime has failed to enlist the OLE DB connection in a distributed transaction with error 0x8004D00E “The transaction has already been implicitly or explicitly committed or aborted”

Soon we realized that this is something related to Microsoft Distributed Transaction Coordinator (MsDTC). We did some search and got a tool called “Dtcping.exe” which will check the health status of MsDTC processes in different machines. The tool reported an error “Access denied”, hinting some security issue with in the MsDTC. But we were not lucky even after a couple of hours of Googling. Then I decided to lean the security settings for MsDTC and I found that all network related connectivity is disabled by default. I learned that authentication settings can cause trouble as our machines were running Windows XP and as they were in a work group (we have a strange network configuration in my organization). I changed to “No Authentication Required” for MsDTC instances in all machines and it worked! To change the Security Configuration for MsDTC, go to Control Panel >> Administrative Tools >> Component Services >> Computers >> Right click My Computer and then click Properties >> Click the MSDTC tab >> Click Security Configuration. Below is a screen shot of the settings that I used, but I do not recommend this configuration for all cases as I am not aware of the impact it can have on securiy.

Screen shot

+0

Grazie Andrew per gli sforzi. Il mio blog è morto da tempo. Ho aggiunto una foto che ho appena scaricato dalla rete che serve allo stesso scopo. – Faiz

-2

errore: Il runtime SSIS è riuscito a cominciare la transazione distribuita a causa di errore 0x8004D01B "Gestore transazioni non è disponibile.". La transazione DTC non è stata avviata. Ciò potrebbe verificarsi perché il servizio MSDTC non è in esecuzione.

4

Ho avuto lo stesso problema, tuttavia, MS DTC non era in esecuzione sulla mia macchina. Per attivare il Transaction Coordinator ho dovuto effettuare le seguenti operazioni:

Per avviare MS DTC

  1. Per aprire Servizi, nel menu Start, scegliere Pannello di controllo.
  2. Nel Pannello di controllo, fare clic su Strumenti di amministrazione.
  3. In Strumenti di amministrazione, fare clic su Servizi. Nel riquadro dei dettagli, fare clic su Distributed Transaction Coordinator nell'elenco dei servizi.
  4. Nel menu Azione, fare clic su Avvia.
+1

Questa è la seconda volta che ho cercato su google e sono tornato direttamente a questo post che ha risolto il mio problema. Qualcuno sa perché succede? O come posso assicurarmi di fermarlo in futuro? – Sam

Problemi correlati