Pregunta

Es posible crear un trigger que no será en una transacción?

Quiero actualizar datos en un servidor vinculado con un disparador, pero debido a problemas con el firewall para que no podamos crear una transacción distribuida entre los dos servidores.

¿Fue útil?

Solución

Probablemente lo que desea es una combinación de una cola que contiene actualizaciones para el servidor vinculado y un proceso que lee los datos de la cola y actualizaciones en el servidor remoto.El desencadenador, a continuación, insertar un mensaje en la cola, como parte de la operación normal.Estos datos serán leídos por el proceso y se utiliza para actualizar el servidor remoto.La lógica necesaria en el proceso de controlar los errores (y posiblemente de reintentos).

La cola puede ser implementado con una o más tablas.

Otros consejos

Sé que no es útil, así que probablemente obtendrá votada abajo para esto, pero en realidad, la solución es arreglar el problema con el cortafuegos.

Creo que si se utiliza el control remoto (no relacionado) servidores (que no son la opción preferida en estos días), a continuación, puede utilizar el CONJUNTO REMOTE_PROC_TRANSACTIONS OFF para evitar el uso del DTC para el control remoto de las operaciones, lo que podría hacer lo correcto aquí.Pero eso probablemente no le ayuda con un servidor vinculado de todos modos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top