J'ai essayé de comprendre pourquoi SQL Server a le schéma db_owner
et le rôle db_owner
? C'est très déroutant. J'ai cherché des réponses et jusqu'à présent voici comment ma compréhension se passe:Rôles, schémas, utilisateurs SQL Server
- Tous les tableaux et objets (tels que les contraintes, etc.) appartiennent à un schéma.
DBO
étant le schéma par défaut. - Un utilisateur peut être autorisé à modifier chaque objet ou le schéma. Une autorisation sur le schéma étend l'autorisation à tous les objets de ce schéma. Vous n'avez donc pas à accorder d'autorisation sur chaque objet individuel.
- Un rôle groupe les autorisations ensemble pour plus de commodité.
Si cela est incorrect, faites-le moi savoir. Mais je pense que jusqu'ici tout va bien. Maintenant, mes questions sont:
- Qu'est-ce que exactement le schéma
db_owner
vu dans la boîte de dialogue "Utilisateur de base de données" de SQL Server Management Studio? Et dans le même dialogue, vous définissez le "Schéma par défaut" commedbo
. Pourquoi les deux ne sont-ils pas les mêmes? Si SQL Server utilise par défautdbo
pour créer tous les objets sous, à quoi sertdb_owner
? - Pourquoi un utilisateur voudrait-il posséder un schéma? Vous affectez déjà des autorisations/rôles. Qu'est-ce que vous possédez
db_accessadmin
? - Pouvez-vous donner un exemple de lorsque vous créez des objets sous le schéma
db_owner
et le schémadb_accessadmin
? En d'autres termes, quelqu'un utilise-t-il légitimement ces schémas?
Convenu. C'était ridicule d'eux de créer deux types d'objets différents (un schéma et un rôle) avec le même nom. – LarryBud