2009-09-15 2 views
10

Während ein SSIS-Paket für SQL Server 2008 zu erstellen:Warum startet die SSIS-Laufzeit die verteilte Transaktion nicht? ich laufe in die folgenden Fehler

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.

Ich erstelle und das Paket lokal auf meinem Rechner laufe, aber die Datenbank auf einem Server mit Windows Server 2008, Das ist nicht in der Domäne.

Ich habe sichergestellt, dass der DTC-Dienst sowohl lokal als auch auf dem Server gestartet wird, und ich habe die Firewall-Ausnahmen hinzugefügt, die in der Windows Vista-Firewall vordefiniert sind.

Warum startet die SSIS-Laufzeit die verteilte Transaktion nicht?

Antwort

5

Überprüfen Sie meine Lösung hier, um dieses Problem [http://faiz.kera.la/2009/08/26/ssis-transaction-enabled-tasks-fail-due-to-msdtc]

Dies ist ein gängiges Szenario, wenn Ihre Maschinen nicht in einer Domäne sind oder Windows XP ausgeführt wird.

Edit: Der Link ist tot. Der ursprüngliche Text aus dem Link zu sein scheint:

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

Dank Andrew für die Bemühungen. Mein Blog ist schon lange tot. Ich habe ein Bild hinzugefügt, das ich gerade vom Netz heruntergeladen habe, das dem gleichen Zweck dient. – Faiz

-2

Fehler: Die SSIS Runtime hat es versäumt, die verteilte Transaktion aufgrund eines Fehlers 0x8004d01b beginnen „Die Transaction Manager ist nicht verfügbar.“. Die DTC-Transaktion konnte nicht gestartet werden. Dies kann auftreten, weil der MSDTC-Dienst nicht ausgeführt wird.

4

Ich hatte das gleiche Problem, jedoch MS DTC wurde nicht auf meinem Computer ausgeführt. Zum Einschalten des Transaction Coordinator hatte ich folgendes zu tun:

starten MS DTC

  1. Dienstleistungen zu öffnen, im Startmenü auf Systemsteuerung.
  2. Klicken Sie in der Systemsteuerung auf Verwaltung.
  3. Klicken Sie in Verwaltung auf Dienste. Klicken Sie im Detailbereich in der Liste der Dienste auf Distributed Transaction Coordinator.
  4. Klicken Sie im Menü Aktion auf Start.
+1

Dies ist das zweite Mal, dass ich gegoogelt habe und gleich zu diesem Post zurück kam, der mein Problem gelöst hat. Weiß jemand, warum es passiert? Oder wie stelle ich sicher, dass es in Zukunft gestoppt wird? – Sam