none
exec haciendo referencia a otra BD de otro servidor RRS feed

  • Pregunta

  • Buen día,

    Tengo dos servidores,

    En el servidor 1 tengo un sp

    En el servidor 2 tengo otro sp que necesito que me ejecute el sp del servidor 1.

    Cómo se hace referencia al servidor uno estando en el servidor 2?

    Ej: Exec sp_servidor_1(parametros)

    martes, 8 de mayo de 2012 15:51

Respuestas

  • RPC Out (Salida RPC). Por defecto es False. Es necesario activar esta
    opción (RPC Out True) para poder ejecutar Procedimientos Almacenados
    remotos
    (es decir, ejecutar Procedimientos Almacenados en el Servidor
    Vinculado). Si no activamos RPC Out e intentamos ejecutar un Procedimiento
    Almacenado remoto, obtendremos el siguiente error (lo pongo en español y en
    inglés):

    Mens. 7411, Nivel 16, Estado 1, Línea 1
    El servidor 'VSQL01'
    no está configurado para RPC.

    Msg 7411, Level 16, State 1, Line
    1
    Server 'VSQL01' is not configured for RPC.

    La opción de RPC Out es
    bastante importante. Por ejemplo, para ejecutar SQL Dinámico en un Servidor
    Vinculado (es decir, ejecutar SQL Dinámico en un servidor remoto), es necesario
    activar RPC Out (Salida RPC) en las opciones del Servidor Vinculado,
    indiferentemente de que utilicemos sp_executesql N’Codigo Dinámico’ o
    EXEC(’Codigo Dinámico’) AT. Quizás pueda parecer incorrecto que RPC Out esté
    deshabilitado por defecto. Sin embargo, esta es una muy buena práctica desde el
    punto de vista de la seguridad, de tal modo, que si no es necesario ejecutar
    Procedimientos Almacenados remotos (sobre Servidores Vinculados), no activamos
    RPC Out y evitamos que algún usuario pueda ser tentado por la curiosidad ;-)

    • Propuesto como respuesta alfred_magno martes, 8 de mayo de 2012 16:58
    • Marcado como respuesta Marce_M martes, 8 de mayo de 2012 17:04
    martes, 8 de mayo de 2012 16:56

Todas las respuestas

  • Puedes crear un linked server en el servidor 2, que apunte al servidor 1 (con una cuenta que tenga los permisos necesarios en el servidor 1)

    y despues solo utilizas esta estructura: 

    exec SERVIDOR1.[DB].[dbo].[sp_help_revlogin]'sa'

    Saludos

    http://dbasqlserver.wordpress.com/

     

    martes, 8 de mayo de 2012 16:19
  • Me genera este error:

    Msg 7411, Level 16, State 1, Line 1
    Server 'SERVIDOR1\SQL' is not configured for RPC.

    martes, 8 de mayo de 2012 16:26
  • Al cambiar las propiedades del servidor vinculado se genero un error:

    unhandled exception has occurred in a component in you aplication.

    Cerre la ventana con la X y volvi a entrar a propiedades y cambie a true RPC y RPC Out y funciono ...

    Que implicaciones tiene cambiar esta configuracion y se debe dejar en true los dos campos RPC y RPC Out ? o solo uno de los dos?



    • Editado Marce_M martes, 8 de mayo de 2012 16:45
    martes, 8 de mayo de 2012 16:37
  • CHECA ESTAS DOS COSAS:

    que tu configuracion de linked este asi:

    y que tengas habilitado en los servidores RPC OUT,

    CORRE ESTE SP:

    sp_helpserver        este te muestra las configuraciones habilitadas en el server si no ves RPC OUT listado,

    habilitalo asi;

    exec sp_serveroption @server='MYPROD', @optname='rpc', @optvalue='TRUE'
    exec sp_serveroption @server='MYPROD', @optname='rpc out', @optvalue='TRUE'

    Saludos

    http://dbasqlserver.wordpress.com/

    • Propuesto como respuesta alfred_magno martes, 8 de mayo de 2012 16:58
    martes, 8 de mayo de 2012 16:47
  • RPC Out (Salida RPC). Por defecto es False. Es necesario activar esta
    opción (RPC Out True) para poder ejecutar Procedimientos Almacenados
    remotos
    (es decir, ejecutar Procedimientos Almacenados en el Servidor
    Vinculado). Si no activamos RPC Out e intentamos ejecutar un Procedimiento
    Almacenado remoto, obtendremos el siguiente error (lo pongo en español y en
    inglés):

    Mens. 7411, Nivel 16, Estado 1, Línea 1
    El servidor 'VSQL01'
    no está configurado para RPC.

    Msg 7411, Level 16, State 1, Line
    1
    Server 'VSQL01' is not configured for RPC.

    La opción de RPC Out es
    bastante importante. Por ejemplo, para ejecutar SQL Dinámico en un Servidor
    Vinculado (es decir, ejecutar SQL Dinámico en un servidor remoto), es necesario
    activar RPC Out (Salida RPC) en las opciones del Servidor Vinculado,
    indiferentemente de que utilicemos sp_executesql N’Codigo Dinámico’ o
    EXEC(’Codigo Dinámico’) AT. Quizás pueda parecer incorrecto que RPC Out esté
    deshabilitado por defecto. Sin embargo, esta es una muy buena práctica desde el
    punto de vista de la seguridad, de tal modo, que si no es necesario ejecutar
    Procedimientos Almacenados remotos (sobre Servidores Vinculados), no activamos
    RPC Out y evitamos que algún usuario pueda ser tentado por la curiosidad ;-)

    • Propuesto como respuesta alfred_magno martes, 8 de mayo de 2012 16:58
    • Marcado como respuesta Marce_M martes, 8 de mayo de 2012 17:04
    martes, 8 de mayo de 2012 16:56