Saltar al contenido

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

Solución:

También encontré este error a pesar de que la configuración, los firewalls y netbios / dns se configuraron correctamente. Los dos servidores de mi configuración eran clones entre sí, por lo que MSDTC en cada servidor tenía el mismo valor 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 CID único

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

Para determinar si los valores de CID de MSDTC para los equipos que ejecutan el sistema operativo Windows son únicos, verifique los valores de las entradas en la clave de registro HKEY_CLASSES_ROOT CID en ambos equipos. Si estos valores no son únicos para cada computadora, siga los pasos en la sección Considere reinstalar el servicio 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 generará valores únicos de CID de MSDTC para esa computadora y acomodar las operaciones adecuadas de MSDTC.

Para restablecer los CID en un servidor de Windows 2012, utilice 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 la base de datos que contiene la base de datos que _repositoryHistory objetivos; o que existe un problema de red que impide la propagación de la transacción a esa máquina.

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

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

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

¡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 *