Transacciones en ADO.NET (II): Activando las Transacciones Distribuidas mediante MSDTC


Anteriormente hemos aprendido a utilizar entornos transaccionales o Transaction Scopes. El ejemplo anterior mostraba lo que se conoce como una ‘transacción ligera’ que afecta a varias tablas de una misma fuente de datos. Sin embargo, en numerosas ocasiones se nos presentará la dificultad añadida de trabajar con múltiples fuentes de datos localizadas incluso en puntos geográficos diversos.

Para solventar esta dificultad, el propio Windows nos ofrece la posibilidad de utilizar las llamadas Transacciones distribuidas. Por defecto aparecen deshabilitadas, por lo que a continuación, mostraremos cómo activarlas. Una vez activadas, utilizaremos la clase TransactionScope como si se tratara de una transacción ligera, dejando en manos del sistema operativoel control de la propia transacción.


Para comenzar acudiremos a [Panel de Control] > [Herramientas Administrativas] > [Servicios de Componentes].

090701
Una vez aquí, haremos click derecho sobre “Mi PC” y seleccionaremos la opción [Propiedades].

090702
A continuación, seleccionamos la pestaña MSDTC, que no es otro componente que el coordinador de transacciones distribuidas de Microsoft (MicroSoft Distributed Transaction Coordinator). Aquí seleccionaremos la opción [Configuración de la transacción] haciendo click sobre el botón [Configuración de seguridad…]

090703
En éste menú configuraremos la seguridad de la forma mostrada: habilitando el acceso a DTC desde la red y las transacciones XA.

090704
A continuación, acudimos al SQL Server Configuration Manager para gestionar la configuración de nuestra base de datos SQL Server (en este caso concreto, SQL Server 2005).

090705
Aquí seleccionaremos los servicios de SQL Server, haciendo click derecho sobre el Agente SQL Server y seleccionando [Propiedades].

090706
Para que en los sucesivos reinicios el agente se inicie de forma automática, seleccionaremos la pestaña [Servicio] y marcaremos en [Modo de inicio] la opción [Automático].

090707
A continuación, si no tenemos iniciado el agente, lo arrancaremos pulsando el botón [Iniciar] en la pestaña [Iniciar sesión].

090708
Por último, haremos click derecho sobre el Coordinador de transacciones (alojado en el subárbol ‘Servicios’) y pulsaremos [Propiedades]

090709
En la pestaña [General], seleccionaremos también el Tipo de inicio [Automático], con lo que el coordinador de transacciones distribuidas estará presente en el próximo reinicio.

090710
Hecho esto, al utilizar un TransactionScope seremos capaces de incluir llamadas a diversas fuentes de datos, pues el propio MSDTC se encargará de manejarlas de forma completamente transparente al usuario.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s