Я пытался выяснить, почему SQL Server имеет db_owner
схему и db_owner
роль? Это очень запутанно. Я искал ответы, и до сих пор я так понимаю:
- Все таблицы и объекты (такие как ограничения и т.д.) относятся к схеме.
DBO
является стандартной схемой. - Пользователю может быть разрешено редактировать каждый объект или схему. Разрешение на схему расширяет разрешение для всех объектов в этой схеме. Таким образом, вам не нужно предоставлять разрешение на каждый отдельный объект.
- Разрешения групп групп вместе для удобства.
Если это неверно, сообщите мне. Но я думаю, что пока все хорошо. Теперь мои вопросы:
- Что такое схема
db_owner
, как показано в диалоговом окне "Пользователь базы данных" в SQL Server Management Studio? И в том же диалоговом окне вы определяете "Схема по умолчанию" какDBO
. Почему не два одинаковые? Если по умолчанию SQL Server используетDBO
для создания всех объектов, для которых используетсяdb_owner
? - Почему пользователь хочет иметь схему? Вы назначаете разрешения/роли уже. Что дает вам
db_accessadmin
? - Можете ли вы привести пример создания объектов в схеме
db_owner
иdb_accessadmin
? Другими словами, кто-то законно использует эти схемы?