Um padrão típico é esquemas baseados em permissões, portanto, você teria WebGUI
, Desktop
etc , para código, para que todos os objetos tenham as mesmas permissões do esquema .
Se você tiver grupos de usuários claros, poderá obter permissão, mas você terá permissões sobrepostas e confusas em algum momento. Costumo adiar as verificações de usuário / grupo para algumas verificações dentro do código e não de objetos de permissão: digamos que você tenha usuários de Admin e RH do Excel: todos eles executam Desktop
código.
Os dados geralmente são compartilhados, então eu teria um Data
esquema, talvez um History
ou Archive
esquema.
Como algum código não é público (como um UDF ou um processo interno), use um Helper
esquema para código que não deve ser executado pelo código do cliente.
Finalmente, esquemas como Staging
ou System
ou Maintenance
são úteis às vezes.
Embora não haja objetos de usuário no dbo
esquema, o usuário dbo
possui todos os esquemas.