Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La mayoría de las operaciones en tiempo de ejecución de BizTalk Server requieren compatibilidad con el Coordinador de transacciones distribuidas de Microsoft (MSDTC) para asegurarse de que las operaciones son coherentes con las transacciones. Si la compatibilidad con transacciones MSDTC no está disponible, las operaciones en tiempo de ejecución de BizTalk Server asociadas no pueden continuar. Los componentes de BizTalk que suelen verse afectados cuando la compatibilidad con transacciones msDTC no está configurada correctamente incluyen (pero no están limitados a) el servicio de Sign-On único, las instancias de host de BizTalk y las instancias de SQL Server a las que está conectado BizTalk Server. Esta sección contiene información que describe los errores relacionados con MSDTC y los pasos que se pueden seguir para diagnosticar y resolver problemas con MSDTC.
Errores que pueden producirse si la compatibilidad con transacciones MSDTC no está configurada correctamente
Los errores similares a los siguientes pueden producirse en BizTalk Server cuando la compatibilidad con transacciones MSDTC no está configurada correctamente en los equipos de un entorno de BizTalk:
"Un problema del Coordinador de transacciones distribuidas de Microsoft impedía la conexión a la base de datos de configuración. El administrador de transacciones ha deshabilitado su compatibilidad con transacciones remotas o de red".
"Un problema del Coordinador de transacciones distribuidas de Microsoft impedía la conexión a la base de datos de configuración. La transacción ya se ha confirmado o anulado implícita o explícitamente.
"Código de error: 0x8004d00a, la nueva transacción no puede inscribirse en el coordinador de transacciones especificado".
No se pudieron recuperar los datos del tipo de transporte para el punto de recepción «MySample ReceiveLocation» del almacén de configuración. Error en el servidor SSO principal "MyServer". El servidor RPC no está disponible".
"Código de error: 0x8004d025, el administrador de transacciones de asociados ha deshabilitado su compatibilidad con transacciones remotas o de red".
"Código de error: 0xc0002a24, no se pudo importar una transacción DTC. Compruebe que MSDTC está configurado correctamente para la operación remota".
"0x8004d01c
[0x1705] Error al crear el elemento de trabajo interno.
Asegúrese de que SQL Server se está ejecutando".
Para resolver los errores de configuración de MSDTC, siga estos pasos.
Asegúrese de que la resolución de nombres netBIOS entre BizTalk Server y los servidores remotos se ha realizado correctamente
Las transacciones MSDTC correctas entre equipos requieren que el equipo cliente pueda resolver el nombre NetBIOS del equipo servidor en la dirección IP correcta y el equipo servidor puede resolver el nombre NetBIOS del equipo cliente en la dirección IP correcta. Para comprobar que la resolución de nombres NetBIOS funciona en ambas direcciones (de cliente a servidor y de servidor a cliente), siga estos pasos:
Nota:
El nombre NetBIOS también se conoce comúnmente como el nombre de red.
Determine el nombre NetBIOS de cada equipo:
Haga clic con el botón derecho en Mi equipo para mostrar el cuadro de diálogo Propiedades del sistema y haga clic en la pestaña Nombre del equipo para ver el nombre completo del equipo asignado al equipo.
El nombre netBIOS es la primera parte del nombre designado como nombre de equipo completo , por lo que, por ejemplo, si el nombre de equipo completo aparece como myserver.company.domain.com, el nombre NetBIOS del equipo es myserver.
Determine la dirección IP o las direcciones asociadas a cada equipo:
Inicie una línea de comandos en el equipo cliente, escriba el siguiente comando y presione ENTRAR.
ipconfig /all
La dirección IP o las direcciones asociadas al ordenador cliente se muestran en la ventana de comandos.
Inicie un símbolo del sistema en el equipo servidor, escriba el siguiente comando y presione ENTRAR:
ipconfig /all
La dirección IP o las direcciones asociadas al servidor se muestran en la ventana de comandos.
Compruebe que el nombre NetBIOS de cada equipo se resuelve en una de las direcciones IP asociadas al equipo:
Inicie un símbolo del sistema en el equipo cliente, escriba el siguiente comando y luego pulse INTRO:
ping <NetBIOS name of server computer>
Los resultados del comando ping deben devolver una dirección IP asociada al equipo servidor.
Inicie una ventana de comandos en el equipo servidor, escriba el siguiente comando y presione ENTER:
ping <NetBIOS name of client computer>
Los resultados del comando ping deben devolver una dirección IP asociada al equipo cliente.
Compruebe que la búsqueda inversa de nombres de dominio de la dirección IP asociada al nombre NetBIOS en cada equipo corresponde al nombre correcto del equipo.
Inicie un símbolo del sistema en el equipo cliente, escriba el siguiente comando y presione ENTRAR:
ping -a <IP Address associated with client computer NetBIOS name>
Los resultados del comando ping deben devolver un nombre NetBIOS o un nombre de dominio totalmente calificado que corresponda al nombre NetBIOS que se usó en el paso 3a. Si el nombre devuelto no coincide o corresponde al nombre netBIOS usado en el paso 3a, se producirá un error en la búsqueda inversa de direcciones IP, lo que puede provocar un error en las transacciones MSDTC.
Inicie un símbolo del sistema en el equipo servidor, escriba el siguiente comando y presione ENTRAR:
ping -a <IP Address associated with server computer NetBIOS name>
Los resultados del comando ping deben devolver un nombre NetBIOS o un nombre de dominio completo que corresponda al nombre netBIOS que se usó en el paso 3b. Si el nombre devuelto no coincide o corresponde al nombre netBIOS usado en el paso 3b, se producirá un error en la búsqueda inversa de direcciones IP, lo que puede provocar un error en las transacciones MSDTC.
Si la resolución de nombres NetBIOS no se realiza correctamente en cualquier dirección o si se produce un error en la búsqueda inversa de nombres, realice las entradas adecuadas en el servidor DNS, el servidor de nombres NetBIOS, el archivo HOSTS o el archivo LMHOSTS para corregir el problema.
Nota:
El método de resolución de nombres utilizado por el equipo varía en función del tipo de nodo NetBIOS del equipo. Para obtener más información sobre los tipos de nodo NetBIOS, consulte Resolución de nombres netBIOS.
Asegúrese de que un firewall entre BizTalk Server y los servidores remotos no bloquee los puertos necesarios para la asignación dinámica de puertos RPC.
La funcionalidad MSDTC a través de la red depende de la funcionalidad RPC a través de la red. La funcionalidad RPC a través de un firewall requiere que los puertos específicos estén abiertos para dar cabida a la asignación dinámica de puertos RPC. Si hay un firewall entre BizTalk Server y servidores remotos, siga los pasos en Configuración de la asignación de puertos dinámicos RPC para que funcionen con firewalls para adaptarse a la asignación dinámica de puertos RPC.
Establecer las opciones de configuración de seguridad de MSDTC adecuadas
Windows proporciona mejoras de seguridad que rigen cómo se accede a MSDTC a través de una red. Al modificar la configuración de seguridad de MSDTC, se controla cómo se comunica MSDTC con equipos remotos a través de la red. En esta tabla se enumeran los valores recomendados para las opciones disponibles al configurar las opciones de seguridad de MSDTC:
Opción de configuración | Valor predeterminado | Valor recomendado |
---|---|---|
Acceso a DTC de la red | Deshabilitado | Activado |
Cliente y administración | ||
Permitir clientes remotos | Deshabilitado | Deshabilitado |
Permitir administración remota | Deshabilitado | Deshabilitado |
Comunicación del Administrador de transacciones | ||
Permitir tráfico entrante | Deshabilitado | Activado |
Permitir salida externa | Deshabilitado | Activado |
Autenticación mutua requerida | Activado | Habilitado si todas las máquinas remotas ejecutan Windows Server 2003 SP1 o Windows XP SP2 o posterior, y están configuradas con "Autenticación mutua requerida". |
Autenticación del autor de llamada entrante requerida | Deshabilitado | Habilitado si se ejecuta MSDTC en el clúster. |
No se requiere autenticación | Deshabilitado | Habilitado si las máquinas remotas son anteriores a Windows Server 2003 SP1 o anteriores a Windows XP SP2. |
Habilitación de TIP | Deshabilitado | Habilitado si ejecuta el portal de BAM. |
Habilitación de transacciones de XA | Deshabilitado | Habilitado si se comunica con un sistema transaccional basado en XA, como al comunicarse con IBM WebSphere MQ mediante el adaptador MQSeries. |
Después de aplicar estos cambios, se reiniciará el servicio MSDTC.
Para acceder a las opciones de configuración de seguridad de MSDTC, siga estos pasos:
Haga clic en Inicio, haga clic en Ejecutar y escriba dcomcnfg para iniciar la consola de administración de servicios de componentes.
Haga clic para expandir Servicios de componentes y haga clic para expandir Equipos.
Haga clic para expandir Mi equipo, haga clic para expandir Coordinador de transacciones distribuidas, haga clic con el botón derecho en DTC local y haga clic en Propiedades.
Haga clic en la pestaña Seguridad del cuadro de diálogo Propiedades de DTC local .
Nota:
En función de los cambios realizados, es posible que deba reiniciar el equipo para aplicar los cambios. Si sigue teniendo problemas después de aplicar los cambios y reiniciar el servicio MSDTC, reinicie el equipo en el que se realizaron los cambios para asegurarse de que los cambios surtan efecto.
Si se habilitan las opciones de configuración Autenticación mutua requerida o Autenticación del llamante entrante requerida, se debe conceder a la cuenta del equipo cliente el derecho de usuario de Acceder a este equipo desde la red. Si a la cuenta de equipo de un equipo cliente no se le concede el derecho de usuario Acceder a este equipo desde la red, o se incluye en el derecho de usuario Denegar el acceso a este equipo desde la red, se producirá un error en la comunicación de DTC entre el equipo cliente y el equipo servidor.
La configuración predeterminada es conceder al grupo Todos el acceso a este equipo desde el derecho de usuario de red . Por lo tanto, este derecho de usuario no tendrá que cambiarse a menos que se haya modificado la configuración predeterminada. Si la opción No se requiere autenticación está habilitada, el derecho de usuario Acceder a este equipo desde la red no se aplica a las cuentas de equipo cliente.
Para cambiar los usuarios o grupos a los que se concede el derecho de usuario "Acceder a este equipo desde la red", siga estos pasos:
Haga clic en Inicio, haga clic en Ejecutar, escriba Gpedit.mscy, a continuación, haga clic en Aceptar.
Despliegue los siguientes elementos en la lista de Política de equipo local:
Configuración del equipo
Configuración de Windows
Configuración de seguridad
Directivas locales
Haga clic en Asignación de derechos de usuario.
Haga doble clic en Acceder a este equipo desde la red y, a continuación, haga clic en Agregar usuario o grupo.
Haga clic en Tipos de objeto, seleccione Equipos y haga clic en Aceptar.
Agregue el nombre del equipo o el nombre del grupo en el área Introducir los nombres de objetos que se van a seleccionar.
Haga clic en Comprobar nombres para verificar la entrada.
Haga clic en Aceptar dos veces.
Para cambiar los usuarios o grupos que se incluyen en denegar el acceso a este equipo desde el derecho de usuario de red, siga estos pasos:
Expanda los siguientes elementos en la lista Directiva de equipo local:
Configuración del equipo
Configuración de Windows
Configuración de seguridad
Directivas locales
Haga clic en Asignación de derechos de usuario.
Haga doble clic en Denegar acceso a este equipo desde la red y, a continuación, haga clic para seleccionar el nombre de equipo o el grupo que desea quitar de este derecho de usuario.
Haga clic en Quitar y, a continuación, haga clic en Aceptar.
Establezca los valores adecuados para las opciones EnableAuthEpResolution y RestrictRemoteClients.
Windows mejora la seguridad al requerir llamadas autenticadas a la interfaz RPC. Esta funcionalidad se puede configurar mediante las claves del Registro EnableAuthEpResolution y RestrictRemoteClients . Para asegurarse de que los equipos remotos pueden acceder a la interfaz RPC, siga estos pasos:
Advertencia
El uso incorrecto del Editor del Registro puede provocar problemas que requieren volver a instalar el sistema operativo. Use el Editor del Registro bajo su propia responsabilidad. Para obtener más información sobre cómo realizar copias de seguridad, restaurar y modificar el registro, consulte el artículo de Microsoft Knowledge Base "Descripción del Registro de Microsoft Windows" en Descripción del Registro de Microsoft Windows.
Haga clic en Inicio, haga clic en Ejecutar, escriba regedit.exey, a continuación, haga clic en Aceptar para iniciar el Editor del Registro.
Vaya a HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT
En la clave RPC , cree las siguientes entradas DWORD con los valores indicados. Si la clave RPC no existe, debe crearse.
Entrada DWORD Valor predeterminado Valor recomendado HabilitarResoluciónDeAutenticaciónEP 0 (Deshabilitado) 1 RestringirClientesRemotos 1 (habilitado) 0 Cierre el Editor del Registro.
Reinicie el servicio MSDTC.
Nota:
En función de los cambios realizados, es posible que deba reiniciar el equipo para aplicar los cambios. Si sigue teniendo problemas después de aplicar los cambios y reiniciar el servicio MSDTC, reinicie el equipo en el que se realizaron los cambios para asegurarse de que los cambios surtan efecto.
Si el firewall de Windows está en ejecución, agregue una excepción para el servicio MSDTC.
El servicio Firewall de Windows puede bloquear las comunicaciones MSDTC entre equipos. Para asegurarse de que las comunicaciones msDTC no están bloqueadas entre equipos, agregue msdtc.exe a la lista de excepciones del Firewall de Windows si el servicio Firewall de Windows se está ejecutando.
Haga clic en Inicio, haga clic en Ejecutar, escriba firewall.cply, a continuación, haga clic en Aceptar para mostrar el cuadro de diálogo Firewall de Windows .
Haga clic en Permitir un programa a través del Firewall de Windows para mostrar el cuadro de diálogo Configuración del Firewall de Windows .
Haga clic en la pestaña Excepciones del cuadro de diálogo Configuración del Firewall de Windows .
Haga clic en Agregar programa para mostrar el cuadro de diálogo Agregar un programa .
Haga clic en Examinar y vaya a %system32%\msdtc.exe .
Nota:
Inicie un símbolo del sistema, escriba echo %system32% y presione Entrar para determinar la ubicación del directorio \System32 en este equipo.
Haga clic para seleccionar msdtc.exe y haga clic en Abrir.
Haga clic en Cambiar ámbito para especificar el conjunto de equipos para los que se deben permitir las comunicaciones MSDTC y haga clic en Aceptar.
Haga clic en Aceptar en el cuadro de diálogo Agregar un programa y haga clic en Aceptar en el cuadro de diálogo Configuración del Firewall de Windows .
Cierre el cuadro de diálogo Firewall de Windows .
Detenga y reinicie el servicio Coordinador de transacciones distribuidas.
Inicie símbolo del sistema, escriba net stop msdtc y presione Intro.
Una vez detenido el servicio Coordinador de transacciones distribuidas, escriba net start msdtc y presione Entrar.
Use DTCTester o DTCPing para comprobar la funcionalidad de MSDTC a través de la red.
Use el cmdlet Test-Dtc para comprobar la compatibilidad de transacciones entre dos equipos si SQL Server está instalado en uno de los equipos. Para obtener más información, vaya a Windows PowerShell: Test-Dtc.
Use DTCPing para comprobar la compatibilidad de transacciones entre dos equipos si SQL Server no está instalado en ninguno de los equipos. La herramienta DTCPing debe ejecutarse tanto en el equipo cliente como en el servidor y es una buena alternativa a la utilidad DTCTester cuando SQL Server no está instalado en ninguno de los equipos. Para obtener más información sobre DTCPing, consulte Solución de problemas de firewall de MS DTC y Configuración del Coordinador de transacciones distribuidas de Microsoft (DTC) para trabajar a través de un firewall.
Importante
Si DTCPing devuelve la advertencia de que "WARNING:the CID values for both test machines are the same" (ADVERTENCIA: los valores CID de ambas máquinas de prueba son los mismos), siga los pasos descritos en la sección Asegúrese de que MSDTC tiene asignado un valor CID único para dar cabida a la funcionalidad correcta de MSDTC entre las máquinas de prueba.
Asegúrese de que MSDTC tiene asignado un valor CID único.
La característica MSDTC del sistema operativo Windows requiere valores CID únicos para asegurarse de que la funcionalidad de MSDTC entre equipos funciona correctamente. Las imágenes duplicadas de disco de las instalaciones de Windows deben tener valores 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 CID de MSDTC para equipos que ejecutan el sistema operativo Windows son únicos, compruebe los valores de las entradas en la clave del Registro HKEY_CLASSES_ROOT\CID en ambos equipos. Si estos valores no son únicos para cada equipo, siga los pasos descritos en la sección Considere la posibilidad de volver a instalar el servicio coordinador de transacciones distribuidas si otros pasos de solución de problemas no se realizan correctamente para reinstalar MSDTC en uno de los equipos, lo que generará valores CID únicos de MSDTC para ese equipo y acomodará las operaciones MSDTC adecuadas.
Error "La nueva transacción no puede inscribirse en el coordinador de transacciones especificado (0x8004d00a)" se produce si se cierra la conexión MSDTC entre un equipo cliente y un equipo servidor.
En determinados escenarios, es posible que se cierre una conexión MSDTC existente entre un cliente y un servidor y los intentos posteriores de usar esta conexión producirán el siguiente mensaje de error: La nueva transacción no puede inscribirse en el coordinador de transacciones especificado (0x8004d00a) Para obtener más información, vaya a Nueva transacción no puede inscribirse en el coordinador de transacciones especificado al intentar iniciar una transacción en MS DTC.
Considere la posibilidad de volver a instalar el servicio Coordinador de transacciones distribuidas si otros pasos de solución de problemas no se realizan correctamente.
Si otros intentos de solucionar problemas con MSDTC no tienen éxito en la posibilidad de desinstalar y reinstalar MSDTC. Siga estos pasos para desinstalar y reinstalar MSDTC:
Ejecute el símbolo del sistema como administrador.
En el símbolo del sistema, escriba lo siguiente para desinstalar el servicio Coordinador de transacciones distribuidas:
msdtc -uninstall
En el símbolo del sistema, escriba lo siguiente para instalar el servicio Coordinador de Transacciones Distribuidas:
msdtc –install
Importante
La reinstalación de MSDTC puede cambiar el comportamiento predeterminado del servicio Coordinador de transacciones distribuidas. Siga estos pasos después de reinstalar MSDTC para asegurarse de que el servicio Coordinador de transacciones distribuida funciona correctamente:
- Volver a instalar MSDTC puede restablecer las opciones de configuración de seguridad de MSDTC a los valores predeterminados. Compruebe que las opciones de configuración de seguridad de MSDTC están establecidas en los valores adecuados después de reinstalar MSDTC.
- La reinstalación de MSDTC puede cambiar el valor de Tipo de inicio del servicio Coordinador de transacciones distribuidas. Compruebe que el valor tipo de inicio del servicio Coordinador de transacciones distribuidas esté establecido en Automático después de reinstalar MSDTC.
- La reinstalación de MSDTC puede requerir un reinicio del equipo. Para asegurarse de que el servicio Coordinador de transacciones distribuidas funciona correctamente, reinicie el equipo después de volver a instalar MSDTC.
Véase también
Herramientas y utilidades para la resolución de problemas de un clúster de Windows Server