是否可以在对数据库实施之前查看和分析SQL Server中的查询,并在必要时将其记录或删除?
例如某个应用程序将更新查询发送到SQL Server,我可以先将其记录到数据库中,然后再根据我的角色将其查询为非法吗?
答案 0 :(得分:0)
您可以使用SQL事件探查器监视发送到服务器的查询,但是您不能执行自己的操作。
如果您说smoe角色执行某些查询是非法的,则应在权限中指定-每个角色都分配了权限。
一种实现您想要的方式的方法是定义用户,其中提到的应用将使用(我什至会创建专用用户)。然后,如果您希望该用户执行SELECT
,只需执行该命令
GRANT SELECT ON [table] TO [user]
然后user
将无法更新table
,只能从中选择行。
答案 1 :(得分:0)
我找到了使用SQL SERVER触发器的解决方案,因此在插入或更新后,我会检查我的角色,以便查看是否存在任何访问问题,我可以回滚事务并将错误发送给用户。