Eu criei um esquema no SQL Azure e concedi as seguintes permissões a uma função de banco de dados:
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;
Através das permissões definidas acima, é myuser
possível criar / soltar seu próprio esquema, para superar o problema, tentei a permissão ALTER ANY SCHEMA. Mas essa permissão também nega que o usuário crie / descarte tabelas.
Quais permissões são necessárias para permitir que o usuário faça algo dentro de seu próprio esquema, mas não possa criar ou descartar o próprio esquema?