需要帮助才能仅将 ALTER 授予所有 SQL Server 函数。
下面是我的代码:
GRANT ALTER ON FUNCTION::dbo TO [username]
根据 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 中编辑角色属性,“安全”页面允许您搜索“所有类型的对象...”,并且您可以选择函数的类型。