gpt4 book ai didi

sql-server - 数据库角色的存储过程执行权限

转载 作者:行者123 更新时间:2023-12-03 01:36:40 25 4
gpt4 key购买 nike

我想授予角色db_datareader执行特定存储过程的权限。

这可能吗?如果是,我该如何实现这一目标?我尝试在存储过程的权限选项卡中添加角色,但这似乎不起作用,该角色不被接受为有效对象。

编辑
根据 cainz 的回答,我尝试了 GRANT EXECUTE ON [SP_NAME] TO db_datareader,但消息是:

Msg 4617, Level 16, State 1, Line 1
Cannot grant, deny or revoke permissions to or from special roles.

看来我想做的事情是不可能的。

最佳答案

您无法直接执行您想要的操作,因为您无法修改系统角色的权限。这是一件好事:您不希望您的系统角色与其他人有不同的定义,因为补丁和服务包可能会产生副作用,第三方工具可能会损坏,新开发人员会(不愉快地)感到惊讶等等。

您只需要使用脚本或其他工具来管理数据库中的权限。显而易见的解决方案就是创建您自己的角色并将数据库用户放入这两个角色;这很容易编写脚本,并且无论如何明确地规划和记录您的安全模型都是一个很好的做法。有什么具体原因导致这不适合您的环境吗?

(注意:可以将您自己的角色添加到 db_datareader 中,但 documentation 特别警告不要这样做。)

关于sql-server - 数据库角色的存储过程执行权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5243521/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com