如何检查用户是否可以在 MS SQL 服务器中执行存储过程?
我可以通过连接到主数据库并执行以下操作来查看用户是否具有显式执行权限:
databasename..sp_helpprotect 'storedProcedureName', 'username'
但是,如果用户是具有执行权限的角色的成员 sp_helprotect 不会帮助我。
理想情况下,我希望能够调用类似的东西
databasename..sp_canexecute 'storedProcedureName', 'username'
这将返回一个布尔值。
原文由 Andrew 发布,翻译遵循 CC BY-SA 4.0 许可协议
fn_my_permissions
和HAS_PERMS_BY_NAME