Un patrón típico son los esquemas basados en permisos, por lo que tendría WebGUI
, Desktop
etc. para el código, de modo que todos los objetos tengan los mismos permisos del esquema .
Si tiene grupos de usuarios claros, puede permitir eso, pero terminará con permisos superpuestos y desordenados en algún momento. Tiendo a diferir las comprobaciones de usuario / grupo a algunas comprobaciones dentro del código y no a los objetos de permisos: digamos que tiene usuarios Admin y HR Excel: todos estos ejecutan Desktop
código.
Los datos generalmente se comparten, por lo que tendría un Data
esquema, tal vez un History
o Archive
esquema.
Algunos códigos no son públicos (como un UDF o un proceso interno), por lo que usaría un Helper
esquema para el código que el código del cliente no debería ejecutar.
Finalmente, esquemas como Staging
o System
o Maintenance
son útiles a veces.
Aunque no hay objetos de usuario en el dbo
esquema, el usuario dbo
posee todos los esquemas.