Sql server 不允许任何用户删除记录,除非通过存储过程

Sql server 不允许任何用户删除记录,除非通过存储过程,sql-server,sql-server-2012,Sql Server,Sql Server 2012,我正在处理一个项目,在我的一个表中,我希望用户(任何用户)不能删除行,除非通过存储过程完成删除 关于这一点有一个问题,这里有一个答案 但我需要知道如何在SQL Server中强制执行此类策略 谢谢删除()每个人对表进行删除的权限,添加()他们执行存储过程的权限。触发器?权限?用户是否能够直接运行SQL命令?如果您试图阻止sa执行此操作,我认为没有办法。删除(拒绝)每个人对表执行删除的权限,添加(授予)他们执行存储操作的权限proc@CharlesBretana我在哪里可以做这样的设置?而不是“招

我正在处理一个项目,在我的一个表中,我希望用户(任何用户)不能删除行,除非通过存储过程完成删除

关于这一点有一个问题,这里有一个答案

但我需要知道如何在SQL Server中强制执行此类策略


谢谢

删除()每个人对表进行删除的权限,添加()他们执行存储过程的权限。

触发器?权限?用户是否能够直接运行SQL命令?如果您试图阻止sa执行此操作,我认为没有办法。删除(拒绝)每个人对表执行删除的权限,添加(授予)他们执行存储操作的权限proc@CharlesBretana我在哪里可以做这样的设置?而不是“招聘”中的特定用户11如果我想让每个人都使用它,我应该使用什么?您可以使用角色。是的,如果您允许实际用户直接连接到数据库,只需将他们分配到一个角色,然后将(授予/拒绝)权限分配给该角色,而不是单个用户。但更好的方法是让中间层使用应用程序帐户连接到数据库,并让所有用户通过中间层。