Ich habe ein Schema in SQL Azure erstellt und einer Datenbankrolle die folgenden Berechtigungen erteilt:
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;
Über die oben definierten Berechtigungen myuser
kann ein eigenes Schema erstellt / gelöscht werden. Um das Problem zu lösen, habe ich die ALTER ANY SCHEMA-Berechtigung verwendet. Diese Berechtigung verweigert dem Benutzer jedoch auch das Erstellen / Löschen von Tabellen.
Welche Berechtigungen sind erforderlich, damit der Benutzer innerhalb seines eigenen Schemas etwas tun kann, das Schema selbst jedoch nicht erstellen oder löschen kann?