仅向 SQL Server 上的所有函数授予“更改”权限

问题描述 投票:0回答:1

需要帮助才能仅将 ALTER 授予所有 SQL Server 函数。

下面是我的代码:

    GRANT ALTER ON FUNCTION::dbo TO [username]
sql sql-server database-administration
1个回答
0
投票

根据 MS 文档

ALTER FUNCTION
需要对函数本身或架构具有 ALTER 权限。您不能在不允许对其他对象进行 ALTER 的情况下对所有函数授予 ALTER。

您应该设置具有所需权限的角色,然后将用户添加到该角色。

CREATE ROLE edit_functions AUTHORIZATION [db_owner];

ALTER ROLE edit_functions ADD MEMBER [username];

GRANT ALTER ON [schema].[function1] TO edit_functions;
GRANT ALTER ON [schema].[function2] TO edit_functions;

等等

如果您在 SSMS 中编辑角色属性,“安全”页面允许您搜索“所有类型的对象...”,并且您可以选择函数的类型。

© www.soinside.com 2019 - 2024. All rights reserved.