Saltar al contenido

MVC 3: el administrador de transacciones de MSDTC no pudo extraer la transacción de la fuente

Posteriormente a consultar especialistas en este tema, programadores de diversas ramas y maestros hemos dado con la respuesta a la pregunta y la compartimos en este post.

Solución:

También encontré este error a pesar de que la configuración, los firewalls y netbios/dns estaban configurados correctamente. Los dos servidores en mi configuración eran clones entre sí, por lo que MSDTC en cada servidor tenía el mismo valor de CID, lo que hace que no puedan interoperar.

Aquí hay algunas otras cosas en las que pensar al solucionar problemas de MSDTC http://msdn.microsoft.com/en-us/library/aa561924.aspx Mi situación se describe en Asegúrese de que a MSDTC se le asigne un valor de CID único

La característica MSDTC del sistema operativo Windows requiere valores de CID únicos para garantizar que la funcionalidad MSDTC entre computadoras funcione correctamente. Las imágenes duplicadas de disco de las instalaciones de Windows deben tener valores de CID únicos o la funcionalidad MSDTC puede verse afectada. Esto puede ocurrir cuando se usan discos duros virtuales para implementar un sistema operativo en una máquina virtual.

Para determinar si los valores de CID de MSDTC para equipos que ejecutan el sistema operativo Windows son únicos, verifique los valores de las entradas en el registro HKEY_CLASSES_ROOTCID key en ambas computadoras. Si estos valores no son únicos para cada computadora, siga los pasos en la sección Considere reinstalar el servicio del Coordinador de transacciones distribuidas si otros pasos de solución de problemas no son exitosos para reinstalar MSDTC en una de las computadoras, lo que luego generará valores únicos de CID de MSDTC para esa computadora. y adaptarse a las operaciones MSDTC adecuadas.

Para restablecer los CID en un servidor de Windows 2012, use el siguiente script de Powershell:

#View: CIDs (These must be different on all systems)
ls Microsoft.PowerShell.CoreRegistry::HKEY_CLASSES_ROOTCID | select Name


#reinstall MSDTC to regenerate CIDs. 
msdtc -uninstall
sleep 5
msdtc -install
sleep 5
Set-Service msdtc -startuptype "auto"
#then reboot for changes to take effect

El error implica que MSDTC no se está ejecutando en el servidor de base de datos que contiene la base de datos que _repositoryHistory objetivos; o que hay un problema de red que impide la propagación de la transacción a esa máquina.

Verifique que MSDTC esté instalado y ejecutándose en el servidor de la base de datos.

Compruebe si Windows Firewall se está ejecutando en el servidor de destino; si es así, verifique las exclusiones del firewall para MSDTC. Este enlace ayuda con eso: http://technet.microsoft.com/en-us/library/cc725913(v=ws.10).aspx

Use DTCPing para solucionar errores relacionados con DTC. Esta ha sido la herramienta para mí durante muchos años para solucionar problemas de escritura de transacciones distribuidas en nuestro sistema.

Puntuaciones y comentarios

Te invitamos a añadir valor a nuestra información colaborando tu veteranía en las acotaciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *