Sidebar

Como actualizar datos en otros manejadores que no sean ellocal?

Para el ámbito de los manejadores de datos, éste término se refiere a la posibilidad
de ejecutar procesos en otro manejador que no es el propio.

Esto es, desde una transacción en un manejador A, puedo actualizar información en el
manejador B.

El esquema bajo el cual es posible realizar lo anterior se conoce como RPC ó "Remote
Procedure Call" por sus siglas en inglés.

Ejemplo.
Tenemos 2 servidores llamados ROMEO y JULIETA. Deseamos que las transacciones en ROMEO
puedan modificar información en JULIETA dentro de una transacción.

Los pasos a seguir son los siguientes:

 En ROMEO (local):
 1. sp_addserver JULIETA.  --de esta forma ROMEO reconoce a JULIETA.
 2. agregar en el archivo de interfaces el servidor JULIETA.

 En JULIETA (remoto):
 1.
 2. sp_addlogin usuario_ROMEO --el login que se asignará para las conexiones desde ROMEO.
 3. sp_addremotelogin  ROMEO,usuario_ROMEO  -- el login se declara remoto y se liga a ROMEO
 4. agregar al usuario usuario_ROMEO en las bases de datos que se desee pueda accesar.

Por default se requiere un password para accesar de ROMEO a JULIETA en modo RPC. Si deseamos
eliminar ésta verificación, basta con declarar el modo de acceso como "confiable" o "trusted"
por su implicación en ingles. He aquí un ejemplo:

 sp_addremotelogin ROMEO, usuario_ROMEO,NULL, trusted,true -- NULL implica que todos los
                                                                     usuarios en ROMEO tendrán
             acceso confiable a JULIETA

Cómo saber el detalle de los remote logins ya existentes?
sp_helpremotelogin

Observaciones importantes:
La variable @@local debe contener el nombre del servidor. Si está en NULL no podrán ejecutarse
RPC. Para realizar esto usar sp_addserver ,local. Shutdown es requerido.

Parámetros implicados:
enable xact coordination.
Cuando está en 1, el servidor puede extender sus transacciones al ámbito de otros servidores.
Este parámetro es indispensable para asegurar que las actualizaciones remotas son tomadas
en cuenta por el commit o rollback de la transacción original, esto por si deseamos
mantener la integridad en el total de las actualizaciones de datos solicitadas.

Parámetros Relacionados:
cis rpc handling

Otros temas relacionados:
Todos los llamados tipo RPC pueden ser auditados.


Tips BD