我希望在数据库中创建一个数据库角色,允许该角色的开发人员成员创建/更改/删除过程和函数。我不希望他们能够创建/更改/删除表,这是由不同的团队管理的。
我找到了GRANT CREATE PROCEDURE/TABLE/FUNCTION
,但我也无法允许他们对程序/功能进行ALTER / DROP。
我也尝试过:
CREATE ROLE developer
GRANT VIEW DEFINITION ON database::MyDb TO developer
GRANT ALTER ON DATABASE::MyDb TO developer
-- Above allows modification of procedures/functions, but also tables
DENY CREATE TABLE ON DATABASE::MyDb TO developer
-- Above denies create table, can still alter/drop tables, which I also want to prevent