Я создал схему в 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. Но это разрешение также запрещает пользователю создавать / удалять таблицы.
Какие разрешения необходимы для того, чтобы пользователь мог что-либо делать в своей собственной схеме, но не мог создавать или удалять саму схему?