2009-09-15 19 views
10

Podczas tworzenia pakietu SSIS dla SQL Server 2008 i uruchomić w następujący błąd:Dlaczego środowisko wykonawcze SSIS nie uruchamia transakcji rozproszonej?

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.

tworzę i uruchomiony pakiet lokalnie na moim komputerze, ale baza danych znajduje się na serwerze z systemem Windows Server 2008, który jest nie w domenie.

Zrobiłem pewien, że usługa DTC jest uruchamiany zarówno lokalnie, jak i na serwerze, a ja dodałem zaporze wyjątki, które są predefiniowane w zaporze systemu Windows Vista.

Dlaczego Runtime SSIS nie uruchomić transakcję rozproszoną?

Odpowiedz

5

Sprawdź moje rozwiązanie tego problemu tutaj [http://faiz.kera.la/2009/08/26/ssis-transaction-enabled-tasks-fail-due-to-msdtc]

Jest to typowy scenariusz, jeśli maszyny nie są w domenie lub z systemem Windows XP.

Edit: link jest martwy. Oryginalny tekst z linku wydaje się być:

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

Dzięki Andrew dla wysiłków. Mój blog od dawna nie żyje. Dodałem zdjęcie, które właśnie pobrałem z sieci, która służy temu samemu celowi. – Faiz

-2

błędzie: Runtime SSIS nie udało się uruchomić transakcję rozproszoną z powodu błędu 0x8004D01B „Menedżer transakcji nie jest dostępna.”. Transakcja DTC nie powiodła się. Może się tak zdarzyć, ponieważ usługa MSDTC nie jest uruchomiona.

4

miałem ten sam problem, jednak MS DTC nie działa na moim komputerze. Aby włączyć Transaction Coordinator musiałem wykonać następujące czynności:

Aby uruchomić MS DTC

  1. aby otworzyć Usługi, w menu Start kliknij polecenie Panel sterowania.
  2. W Panelu sterowania kliknij Narzędzia administracyjne.
  3. W Narzędziach administracyjnych kliknij Usługi. W okienku szczegółów kliknij Distributed Transaction Coordinator na liście usług.
  4. W menu Akcja kliknij polecenie Uruchom.
+1

Po raz drugi skorzystałem z wyszukiwarki Google i wróciłem do tego wpisu, który rozwiązał mój problem. Czy ktoś wie, dlaczego tak się dzieje? Albo jak mogę go zatrzymać w przyszłości? – Sam

Powiązane problemy