我从旧数据库生成了脚本,创建了一个新数据库并从旧数据库导入了所有数据。然而,到目前为止,还没有用户拥有存储过程的执行权限。我知道我可以使用
GRANT EXECUTE ON [storedProcName] TO [userName]
如果只是几个过程,那么我大约有 100 个过程,那么对我来说向所有过程授予特定用户执行访问权限的最简单方法是什么?
最佳答案
创建一个角色,将该角色添加给用户,然后您可以一次性将所有例程的执行权限授予该角色。
CREATE ROLE <abc>
GRANT EXECUTE TO <abc>
编辑
这适用于 SQL Server 2005,我不确定此功能的向后兼容性,我确信 2005 年以后的任何版本都应该没问题。
关于sql - 授予用户对数据库中所有存储过程的执行权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5428406/