AlwaysOn AG, DTC con conmutación por error


14

Problema: ¿Cómo puedo ejecutar el Coordinador de transacciones distribuidas (DTC) en todos los servidores de un grupo de disponibilidad AlwaysOn (AG)? NO necesito mantener transacciones sobre eventos de conmutación por error / conmutación.

Configuración: Tengo un Clúster de conmutación por error de Windows (WSFC) con tres servidores Windows 2008 R2 donde todos ejecutan SQL 2012. Dos servidores están en un centro de datos y forman parte de un Clúster de conmutación por error (FCI) AlwaysOn, mientras que el tercer servidor está en Un segundo centro de datos. El WSFC es un clúster de subredes múltiples. Aquí hay un boceto de la configuración: ingrese la descripción de la imagen aquí

He podido instalar y configurar DTC para que funcione entre los dos nodos FCI porque están en la misma subred y comparten almacenamiento. He configurado un par de AG y han estado funcionando bien. Esta captura de pantalla muestra el DTC instalado en la FCI:

ingrese la descripción de la imagen aquí

Esta captura de pantalla muestra que puedo configurar DTC en uno de los nodos de FCI (el que esté activo): ingrese la descripción de la imagen aquí

Me gustaría migrar una aplicación que usa DTC a este clúster y usar un AG. He leído que DTC no es compatible con AG ( referencia ). No he podido encontrar una manera de configurar DTC en el tercer nodo en el segundo centro de datos. Cuando intento configurar DTC en el tercer nodo, parece que no está disponible, como se muestra en esta captura de pantalla:

ingrese la descripción de la imagen aquí

En el PDF de la Lista de verificación de configuración gratuita de Brent Ozar para Grupos de disponibilidad, enumera:

Instalación del clúster ...

29. Si hay una FCI involucrada, configure el DTC según las decisiones de su sección de Planificación.

En los comentarios sobre los Grupos de disponibilidad AlwaysOn de SQL Server 2012, Rock Brent dice que "... nada cambia cuando los AG están en juego. Solo tenga en cuenta que las bases de datos en un Grupo de disponibilidad no admiten la consistencia transaccional cuando se conmutan por error a otra réplica. .. "

Esto hace que parezca que DTC se puede usar en Grupos de disponibilidad siempre que comprenda que las transacciones no se mantendrán en un cambio de AG. No lo necesitaría para mantener transacciones de los nodos de FCI. Solo necesitaría DTC disponible para que la aplicación lo use en el caso de un desastre catastrófico (donde perdí mi centro de datos principal).

¿Cómo configuro DTC en mi tercer nodo? ¿O es que no tengo suerte cuando se trata de usar AG y una aplicación que necesita DTC?

ACTUALIZACIÓN: La solución que he decidido es usar Log Shipping. Sin embargo, en el caso de una conmutación por error, todavía necesito que DTC esté disponible en Node3. Descubrí que está disponible al desinstalar la instancia agrupada MSDTC-MSSQLSERVERCLU de DTC que se comparte entre Node1 y Node2. Una vez eliminado, puedo configurar y configurar una instancia LocalDTC en Node3. Después, puedo reinstalar la instancia agrupada MSDTC-MSSQLSERVERCLU. Hacer la secuencia de instalación en ese orden parece funcionar. He estado corriendo así por un tiempo y no he descubierto ningún efecto negativo. Parece que esto también funcionaría para ejecutar un grupo de disponibilidad AlwaysOn. Entiendo que las transacciones distribuidas no se conservarán en una conmutación por error AG, solo necesitaría otras nuevas para trabajar después de la conmutación por error. Pero no tengo

Respuestas:


15

Elijah Hay dos preguntas separadas aquí:

1. ¿Se admite DTC con los grupos de disponibilidad AlwaysOn?

Como dice Microsoft en letras grandes, no. Entiendo totalmente que desea probarlo de todos modos, pero tenga en cuenta que ahora está poniendo en producción algo que Microsoft simplemente no admitirá, Y está utilizando dos funciones de nicho separadas (AG y DTC). Si algo sale mal, vas a estar en un mundo de dolor. Esto simplemente no es algo en lo que alguna vez pensaría en probar en producción.

Tenga en cuenta que si sus gerentes descubren que usted implementó algo que Microsoft dice específicamente en letras grandes, "NO PUEDE HACER ESTO", y tiene cualquier tipo de interrupción en la que debe llamar a Microsoft para solicitar asistencia, va a tener alguna explicación fea que hacer.

2. ¿Cómo se debe configurar DTC en un clúster de múltiples nodos y subredes múltiples?

Lea la publicación de Allan Hirt sobre la configuración de DTC con varias instancias de SQL Server en un clúster, y asegúrese de leer también todos los enlaces en la publicación.


Gran información en la publicación de Allan Hirt. Su advertencia me ha convencido de que no tengo suerte y no puedo hacer esto
Elijah W. Gagne
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.