Creé un esquema en SQL Azure y otorgué los siguientes permisos a un rol de base de datos:
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;
A través de los permisos definidos anteriormente myuser
puede crear / eliminar su propio esquema, por lo que para superar el problema probé el permiso ALTERAR CUALQUIER ESQUEMA. Pero este permiso también niega al usuario crear / soltar tablas.
¿Qué permisos son necesarios para permitir que el usuario haga algo dentro de su propio esquema pero no pueda crear o descartar el esquema en sí?