sql >> Base de Datos >  >> RDS >> Sqlserver

Forzar INSERT solo a través de un procedimiento almacenado

Simplemente no otorgue a ningún usuario de la base de datos (y su rol "público") el permiso INSERTAR en la tabla.

Otorgue a esos usuarios el permiso para ejecutar el proceso almacenado INSERT; de esa manera, pueden llamar al proceso almacenado, pero no pueden insertar directamente ningún dato en la tabla subyacente.

DENY INSERT ON dbo.YourTable TO PUBLIC
GRANT EXECUTE ON dbo.InsertDataProc TO PUBLIC