Cursor en Link Server

27/02/2007 - 22:17 por Penta | Informe spam
Estimados.
Existen 2 Sp que tienen cursores que realizan Update a TABLA_1

ejemplo:
Primer SP
Update TABLA_1
set nombre='nombre'
Where nombre='nombre a cambiar'

Segundo SP
Update TABLA_1
set nombre='nombre'
Where nombre='nombre a cambiar'

Como pueden ver lo que hacen es lo mismo. Pero el segundo SP se cae:

Servidor: mensaje 7391, nivel 16, estado 1, procedimiento Segundo SP,
línea 10
No se puede realizar la operación. El proveedor OLE DB 'SQLOLEDB' no
pudo iniciar una transacción distribuida.
[OLE/DB provider returned message: New transaction cannot enlist in
the specified transaction coordinator. ]
Traza de error de OLE DB [OLE/DB Provider 'SQLOLEDB'
ITransactionJoin::JoinTransaction returned 0x8004d00a].

Lo que tengo es.
Servidor A Windows 2000 Server SQL Server 2000
Servidor B Windows 2003 Server SQL Server 2000

Ambos con todos los SP actualizados tanto S.O. como SQL Server.

El Servidor B esta vinculado en el A.

Ps. la linea 10 es el comando deallocate Nombre_Cursor

Muchas Gracias por sus comentarios
Penta.

Preguntas similare

Leer las respuestas

#1 Maxi
28/02/2007 - 01:54 | Informe spam
Penta, verifica que tienes el servicio de Transacciones distribuidas
prendido en ambos servidores


Saludos

[Microsoft MVP SQL Server]
SQLTOTALConsulting - Servicios y consultoria de SQLServer
www.sqlgurus.org
Buenos Aires - Argentina
http://msmvps.com/blogs/maxiaccotto/
"Penta" wrote in message
news:
Estimados.
Existen 2 Sp que tienen cursores que realizan Update a TABLA_1

ejemplo:
Primer SP
Update TABLA_1
set nombre='nombre'
Where nombre='nombre a cambiar'

Segundo SP
Update TABLA_1
set nombre='nombre'
Where nombre='nombre a cambiar'

Como pueden ver lo que hacen es lo mismo. Pero el segundo SP se cae:

Servidor: mensaje 7391, nivel 16, estado 1, procedimiento Segundo SP,
línea 10
No se puede realizar la operación. El proveedor OLE DB 'SQLOLEDB' no
pudo iniciar una transacción distribuida.
[OLE/DB provider returned message: New transaction cannot enlist in
the specified transaction coordinator. ]
Traza de error de OLE DB [OLE/DB Provider 'SQLOLEDB'
ITransactionJoin::JoinTransaction returned 0x8004d00a].

Lo que tengo es.
Servidor A Windows 2000 Server SQL Server 2000
Servidor B Windows 2003 Server SQL Server 2000

Ambos con todos los SP actualizados tanto S.O. como SQL Server.

El Servidor B esta vinculado en el A.

Ps. la linea 10 es el comando deallocate Nombre_Cursor

Muchas Gracias por sus comentarios
Penta.
Respuesta Responder a este mensaje
#2 Penta
28/02/2007 - 15:21 | Informe spam
Perfecto.
La duda que tengo es porque uno de los SP si corre :( pero el otro NO.
Respuesta Responder a este mensaje
#3 Maxi
28/02/2007 - 16:12 | Informe spam
En ese SP estaras llamando de una transaccion distribuida quizas?


Salu2

Microsoft MVP SQL Server
Culminis Speaker

"Penta" escribió en el mensaje
news:
Perfecto.
La duda que tengo es porque uno de los SP si corre :( pero el otro NO.

Respuesta Responder a este mensaje
#4 Penta
28/02/2007 - 21:03 | Informe spam
Gracias Maxi.
Problema solucionado, el Server con W2003 no tenia el Network Access
del DTC activado.

Salu2.
Penta.
Respuesta Responder a este mensaje
#5 Maxi
28/02/2007 - 21:21 | Informe spam
Me alegro!


Salu2

Microsoft MVP SQL Server
Culminis Speaker

"Penta" escribió en el mensaje
news:
Gracias Maxi.
Problema solucionado, el Server con W2003 no tenia el Network Access
del DTC activado.

Salu2.
Penta.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida