Tengo dos bases de datos en el mismo SQL Server:cómo configurar un procedimiento almacenado para acceder a una tabla en otra base de datos
Base de Datos Un
- tabla 1
- tabla 2
- sproc x
base de datos B
- tabla 3
- tabla 4
- sproc y
- sproc z
Quiero dar acceso usuario1 a la base de datos, pero sólo a través de los permisos de ejecución de los procedimientos almacenados.
- sproc X hace una unión entre el cuadro 1 & 2, y usuario1 puede ejecutar.
- sproc y hace una unión entre las tablas 3 & 4 y se puede ejecutar user1.
- sproc z tiene una unión entre las tablas 1 & 4, y usuario1 es incapaz de ejecutar, a menos Doy permiso SELECT para tabla 1. ¿Por qué es esto?
no quiero conceder permiso de selección, ya que esto rompe el modelo de seguridad de "solamente acceder a la base de datos a través de procedimientos almacenados"
No estaba habilitado ... habilité las bases de datos a las que mis sprocs intentaban acceder y parece funcionar. ¡Gracias! –
Desde que encontré esto con algunas bases de datos recientes, algunos elementos adicionales para verificar.1) Haga que el propietario de la base de datos sea el mismo para ambas bases de datos 2) Asegúrese de que exista el mismo usuario/grupo en ambas bases de datos –