SP_SetAppRole

20/02/2006 - 19:57 por Pablo | Informe spam
Gente. cree un rol de aplicación llamado ADMINISTRACION con el pass adm
Asigné los permisos necesarios y cada vez que me conecto al SQL ejecuto el
sp_setapprole 'ADMINISTRACION','adm' antes de hacer los select / update /
insert / delete, etc.

Hasta ahí todo bien, mi problema ahora es que debo tener configurado un
servidor vinculado a esta base, el dieseño sería

Servidor A (sin approle)
Servidor B (con approle)

Cómo debo hacer para desde A ejecutar un store de B ???

La manera en que lo quiero ejecutar es... se dispara un insert / delete
/ udpate en una tabla del Servidor A, se ejecuta un trigger y se ejecuta

EXEC [ServidorB].Telesoft.dbo.SP_intActualizaCONTACTOS_CU


Cómo hago para que el servidor A pueda ejecutar ese store del servidor B?


Muchas gracias, Pablo

Preguntas similare

Leer las respuestas

#1 Maxi
20/02/2006 - 21:33 | Informe spam
Hola, no puedes hacer eso de forma directa. Lo mejor seria armar en tu
servidor A un SP que llame al SP del servidor B


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"Pablo" escribió en el mensaje
news:
Gente. cree un rol de aplicación llamado ADMINISTRACION con el pass
adm
Asigné los permisos necesarios y cada vez que me conecto al SQL ejecuto el
sp_setapprole 'ADMINISTRACION','adm' antes de hacer los select / update /
insert / delete, etc.

Hasta ahí todo bien, mi problema ahora es que debo tener configurado un
servidor vinculado a esta base, el dieseño sería

Servidor A (sin approle)
Servidor B (con approle)

Cómo debo hacer para desde A ejecutar un store de B ???

La manera en que lo quiero ejecutar es... se dispara un insert /
delete
/ udpate en una tabla del Servidor A, se ejecuta un trigger y se ejecuta

EXEC [ServidorB].Telesoft.dbo.SP_intActualizaCONTACTOS_CU


Cómo hago para que el servidor A pueda ejecutar ese store del servidor B?


Muchas gracias, Pablo
Respuesta Responder a este mensaje
#2 Pablo
20/02/2006 - 22:16 | Informe spam
Ok, pero como hago para que el SP del servidor A vea el SP del servidor B?

Como hago para desde el servidor A se active el approle, ejecute en el otro
servidor y luego siga ejecutando en el servidor principal?


Hice una prueba sencilla desde el Analizer con mismo servidor pero distintas
bases


Desde base A

use base A
go -> sin error
use base B
go
sp_setapprole 'Administrador','adm'
go
select * from ts_contacto
go
use base A -> aca me da error porque el usuario no tiene acceso a la
base A porque ha tomado los permisos del rol

"Maxi" escribió:

Hola, no puedes hacer eso de forma directa. Lo mejor seria armar en tu
servidor A un SP que llame al SP del servidor B


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"Pablo" escribió en el mensaje
news:
> Gente. cree un rol de aplicación llamado ADMINISTRACION con el pass
> adm
> Asigné los permisos necesarios y cada vez que me conecto al SQL ejecuto el
> sp_setapprole 'ADMINISTRACION','adm' antes de hacer los select / update /
> insert / delete, etc.
>
> Hasta ahí todo bien, mi problema ahora es que debo tener configurado un
> servidor vinculado a esta base, el dieseño sería
>
> Servidor A (sin approle)
> Servidor B (con approle)
>
> Cómo debo hacer para desde A ejecutar un store de B ???
>
> La manera en que lo quiero ejecutar es... se dispara un insert /
> delete
> / udpate en una tabla del Servidor A, se ejecuta un trigger y se ejecuta
>
> EXEC [ServidorB].Telesoft.dbo.SP_intActualizaCONTACTOS_CU
>
>
> Cómo hago para que el servidor A pueda ejecutar ese store del servidor B?
>
>
> Muchas gracias, Pablo



Respuesta Responder a este mensaje
#3 Maxi
21/02/2006 - 12:52 | Informe spam
Hola, creo que no me has comprendido.

Tenemos un Server A y B y queremos usar un Sp del server B desde el A usando
roles de aplicacion.
Entonces debemos crear en server A un SP que solo llame al SP del server B

create proc spu_servera as
exec serverb.dbo.sp
go

luego ejecutas este SP desde el server A


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"Pablo" escribió en el mensaje
news:
Ok, pero como hago para que el SP del servidor A vea el SP del servidor B?

Como hago para desde el servidor A se active el approle, ejecute en el
otro
servidor y luego siga ejecutando en el servidor principal?


Hice una prueba sencilla desde el Analizer con mismo servidor pero
distintas
bases


Desde base A

use base A
go -> sin error
use base B
go
sp_setapprole 'Administrador','adm'
go
select * from ts_contacto
go
use base A -> aca me da error porque el usuario no tiene acceso a
la
base A porque ha tomado los permisos del rol

"Maxi" escribió:

Hola, no puedes hacer eso de forma directa. Lo mejor seria armar en tu
servidor A un SP que llame al SP del servidor B


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"Pablo" escribió en el mensaje
news:
> Gente. cree un rol de aplicación llamado ADMINISTRACION con el pass
> adm
> Asigné los permisos necesarios y cada vez que me conecto al SQL ejecuto
> el
> sp_setapprole 'ADMINISTRACION','adm' antes de hacer los select / update
> /
> insert / delete, etc.
>
> Hasta ahí todo bien, mi problema ahora es que debo tener configurado un
> servidor vinculado a esta base, el dieseño sería
>
> Servidor A (sin approle)
> Servidor B (con approle)
>
> Cómo debo hacer para desde A ejecutar un store de B ???
>
> La manera en que lo quiero ejecutar es... se dispara un insert /
> delete
> / udpate en una tabla del Servidor A, se ejecuta un trigger y se
> ejecuta
>
> EXEC [ServidorB].Telesoft.dbo.SP_intActualizaCONTACTOS_CU
>
>
> Cómo hago para que el servidor A pueda ejecutar ese store del servidor
> B?
>
>
> Muchas gracias, Pablo



Respuesta Responder a este mensaje
#4 Pablo
21/02/2006 - 14:27 | Informe spam
Maxi, entiendo lo que dices pero no me funciona

server B tiene approle y server A no

En server A cree el store
dbo.sp_pablo que lo que hace es
serverB.[Comafi_PreProd].[dbo].[Sp_AcEstadoSolicitud]

En serverB cree el store Sp_AcEstadoSolicitud que hace un select de una tabla

Cuando quiero ejecutar desde server A hago [Comafi_Desa].[dbo].[sp_pablo] y
me da el error EXECUTE permission denied on object 'Sp_AcEstadoSolicitud',
database 'Comafi_PreProd', owner 'dbo'. cosa que me parece obvia porque nunca
activé el approle... como hago para activarlo desde el server A?
Respuesta Responder a este mensaje
#5 Maxi
21/02/2006 - 15:59 | Informe spam
Hola, Pablo los roles de aplicacion son por bdd y no se pueden pasar por mas
que lo crees en la otra bdd. En este caso y como estas usando la cosa no te
va aquedar otra que darle ademas del rol de aplicacion permisos de Execute a
algun usuario de server A.


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"Pablo" escribió en el mensaje
news:
Maxi, entiendo lo que dices pero no me funciona

server B tiene approle y server A no

En server A cree el store
dbo.sp_pablo que lo que hace es
serverB.[Comafi_PreProd].[dbo].[Sp_AcEstadoSolicitud]

En serverB cree el store Sp_AcEstadoSolicitud que hace un select de una
tabla

Cuando quiero ejecutar desde server A hago [Comafi_Desa].[dbo].[sp_pablo]
y
me da el error EXECUTE permission denied on object 'Sp_AcEstadoSolicitud',
database 'Comafi_PreProd', owner 'dbo'. cosa que me parece obvia porque
nunca
activé el approle... como hago para activarlo desde el server A?
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida