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.
 

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.

Preguntas similares