Fallos con triggers

23/06/2005 - 12:47 por Ivan García | Informe spam
Hola:

estoy intentando montar una sincronización (de momento estoy aún con las
pruebas, pero se me está echando el tiempo encima) entre 2 servidores con SQL
Server 2000 utilizando triggers. La idea es que las bases de datos estén
igual y se mantengan sincronizadas, no se trata de hacer un backup en una y
restaurarlo en otra, sino de que los cambios (insert, delete, update) que se
produzcan en la primera sean enviados a la segunda (de momento en máquinas
del mismo dominio; después tendré que hacer lo mismo con otras maquinas en
dominios distintos).

Pero al activar un trigger de insert me da el siguiente error:

[Microsoft][ODBC SQL Server Driver][SQL Server]
[OLE/DB provider returned message: No se pueden iniciar más transacciones en
esta sesión]

ambos servidores están en el mismo dominio,
supongamos sis05 el que lanza el trigger y sis01 (192.168.0.10) en el que
quiero insertar

he hecho

sp_addlinkedserver '192.168.0.10'

sp_addserver 'sistemasb'

sp_setnetname 'sistemasb', '192.168.0.10'

sp_serveroption 'sistemasb', 'DATA ACCESS', 'on'

MSDTC está activo en ambos servidores, el acceso a DTC desde la red también

(en el servidor sistemasb tengo una base de datos sobre la que estoy
haciendo las pruebas, se llama prueba y tengo

una tabla p5 con 3 campos numéricos)

Si desde sis05 hago un insert a pelo del estilo

insert into sistemasb.prueba.dbo.p5 (numero, numero2, numero3) values (3,4,5)

lo acepta sin problemas, pero si incluyo esta linea en el trigger me da el
fallo
¿cómo podría solucionarlo? (¿y tendría que hacer algún cambio adicional para
que me funcionara en máquinas de dominios distintos?)

Muchas gracias por adelantado
 

Leer las respuestas

#1 Maxi
23/06/2005 - 13:50 | Informe spam
Hola ivan, podrias revisar la variable @@transcount? me parece que tienes
muchas transacciones en danza


Salu2
Maxi


"Ivan García" <Ivan Garcí escribió en el mensaje
news:
Hola:

estoy intentando montar una sincronización (de momento estoy aún con las
pruebas, pero se me está echando el tiempo encima) entre 2 servidores con
SQL
Server 2000 utilizando triggers. La idea es que las bases de datos estén
igual y se mantengan sincronizadas, no se trata de hacer un backup en una
y
restaurarlo en otra, sino de que los cambios (insert, delete, update) que
se
produzcan en la primera sean enviados a la segunda (de momento en máquinas
del mismo dominio; después tendré que hacer lo mismo con otras maquinas en
dominios distintos).

Pero al activar un trigger de insert me da el siguiente error:

[Microsoft][ODBC SQL Server Driver][SQL Server]
[OLE/DB provider returned message: No se pueden iniciar más transacciones
en
esta sesión]

ambos servidores están en el mismo dominio,
supongamos sis05 el que lanza el trigger y sis01 (192.168.0.10) en el que
quiero insertar

he hecho

sp_addlinkedserver '192.168.0.10'

sp_addserver 'sistemasb'

sp_setnetname 'sistemasb', '192.168.0.10'

sp_serveroption 'sistemasb', 'DATA ACCESS', 'on'

MSDTC está activo en ambos servidores, el acceso a DTC desde la red
también

(en el servidor sistemasb tengo una base de datos sobre la que estoy
haciendo las pruebas, se llama prueba y tengo

una tabla p5 con 3 campos numéricos)

Si desde sis05 hago un insert a pelo del estilo

insert into sistemasb.prueba.dbo.p5 (numero, numero2, numero3) values
(3,4,5)

lo acepta sin problemas, pero si incluyo esta linea en el trigger me da el
fallo
¿cómo podría solucionarlo? (¿y tendría que hacer algún cambio adicional
para
que me funcionara en máquinas de dominios distintos?)

Muchas gracias por adelantado

Preguntas similares