我已经在SQL Azure中创建了一个架构,并授予了数据库角色以下权限:
CREATE ROLE myrole AUTHORIZATION dbo;
EXEC sp_addrolemember 'myrole', 'myuser';
CREATE SCHEMA myschema AUTHORIZATION dbo;
GRANT ALTER, CONTROL, DELETE, EXECUTE, INSERT, REFERENCES, SELECT, UPDATE, VIEW
DEFINITION ON SCHEMA::myschema TO myrole;
GRANT CREATE TABLE, CREATE PROCEDURE, CREATE FUNCTION, CREATE VIEW TO myrole;
通过上面定义的权限myuser
可以创建/删除他自己的架构,因此为了解决该问题,我尝试了ALTER ANY SCHEMA权限。但是此权限也拒绝用户创建/删除表。
为了允许用户在自己的架构中执行任何操作但不能创建或删除架构本身,需要什么权限?