2009-09-15 33 views
10

bien la creación de un paquete SSIS para SQL Server 2008 me encuentro con el siguiente error:¿Por qué el SSIS Runtime no puede iniciar la transacción distribuida?

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.

estoy creando y ejecutando el paquete localmente en mi máquina, pero la base de datos está en un servidor, que ejecuta Windows Server 2008, que es no en el dominio.

Me he asegurado de que el servicio DTC se haya iniciado tanto localmente como en el servidor, y he agregado las excepciones de Firewall que están predefinidas en el firewall de Windows Vista.

¿Por qué el SSIS Runtime no puede iniciar la transacción distribuida?

Respuesta

5

comprobar mi solución a este problema aquí [http://faiz.kera.la/2009/08/26/ssis-transaction-enabled-tasks-fail-due-to-msdtc]

Este es un escenario común si sus máquinas no están en un dominio o Windows XP.

Editar: el enlace está muerto. El texto original de esta asociación parece ser:

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

Gracias Andrew por los esfuerzos. Mi blog ha muerto hace mucho tiempo. He agregado una foto que acabo de descargar de la red que sirve para el mismo propósito. – Faiz

-2

de error: El tiempo de ejecución de SSIS no ha podido iniciar la transacción distribuida debido a un error 0x8004D01B "El Administrador de transacciones no está disponible.". La transacción DTC no pudo iniciarse. Esto podría ocurrir porque el servicio MSDTC no se está ejecutando.

4

Tuve el mismo problema, sin embargo, MS DTC no se estaba ejecutando en mi máquina. Para activar el Coordinador de transacciones que tenía que hacer lo siguiente:

Para iniciar MS DTC

  1. para abrir los servicios, en el menú Inicio, en Panel de control.
  2. En el Panel de control, haga clic en Herramientas administrativas.
  3. En Herramientas administrativas, haga clic en Servicios. En el panel de detalles, haga clic en Distributed Transaction Coordinator en la lista de servicios.
  4. En el menú Acción, haga clic en Inicio.
+1

Esta es la segunda vez que busco en Google y volví directamente a esta publicación que resolvió mi problema. ¿Alguien sabe por qué sucede? ¿O cómo me aseguro de detenerlo en el futuro? – Sam

Cuestiones relacionadas