Eu tenho um usuário [AD\dbusersgroup_limitedrights] que deveria ter em dois esquemas [ICD] e [XCD] dentro de um banco de dados apenas direitos SELECT e EXECUTE, porém para cada um dos usuários no [AD\dbusersgroup_limitedrights] eu criei um esquema com sua inicial corporativa
[DIS] [SUB] [TEC]
dentro desses esquemas, eles devem ter o direito de criar suas próprias tabelas, visualizações e procedimentos armazenados, baseados nos objetos dos esquemas [ICD] e [XCD].
Tornei o grupo agora proprietário do esquema [DIS],[SUB],[TEC] e nos outros dois esquemas concedi a eles o direito de SELECT e EXECUTE. Eu também criei o grupo db_role db_datareader para garantir que eles não obtenham direitos sobre outros esquemas criados posteriormente.
No entanto, embora sejam proprietários de seu próprio esquema, eles não podem criar objetos dentro dos esquemas. Presumo que isso se deva à função db db_datareader.
Portanto, para esse cenário, qual é a prática recomendada para conceder permissões limitadas em um banco de dados?
Você terá que conceder a eles as permissões apropriadas no nível do banco de dados para indicar o que eles devem ser capazes de fazer. Em seguida, conceda a permissão ALTER (ou torne-os proprietários) nos esquemas nos quais eles podem fazer essas coisas.