sql - 授予用户对数据库中所有存储过程的执行权限?

标签 sql sql-server sql-server-2000

我从旧数据库生成了脚本,创建了一个新数据库并从旧数据库导入了所有数据。然而,到目前为止,还没有用户拥有存储过程的执行权限。我知道我可以使用

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/

相关文章:

sql-server - SQL Server 日期时间 LIKE 选择?

sql - System.ServiceModel.FaultException SQL错误,是他们结束了吗?

sql - 如何从SQL Server中的一组表中知道DataSpace?

MySQL关于重复键删除

SQL转换日期时间语句

c# - 在 ASP.Net 中将数据更新到 SQL Server 的最佳实践是什么

sql-server-2008 - 如何处理存储过程以实现兼容性

sql-server-2008 - 从SQL Server 2000迁移到2008 R2-如何

mysql - 每个用户 ID 的唯一产品 ID 的更新率

sql - 普通英语规范化