Разница между собственными схемами и ролевым членством для Microsoft SQL Server

24

Есть ли различия между Owned Schemasи Role Members?

Насколько я понимаю, они Role Membersявляются обязательными - пользователь должен иметь хотя бы один из Role Membersотмеченных флажков .

Тем не менее, Owned Schemasэто не обязательно. Это действительно заставляет меня задуматься, почему так важно быть Owned Schemasтам.

введите описание изображения здесь

Джек
источник

Ответы:

17

Яблоки и апельсины. Роли - это роли, а схемы - это схемы. Тот факт, что есть роль, которая называется, db_accessadminа также схема, которая называется db_accessadmin, не означает, что роль - это схема, и что схема - это роль. Роли являются контейнерами безопасности, принципал является членом роли. Схемы содержат связанные со схемой базы данных объекты и принадлежат принципалу. Когда вы создаете нового пользователя, вы можете выбрать его схему по умолчанию, добавить его к определенным ролям и предоставить ему право собственности на схемы. Хотя действия отдельных, конструкторы этого диалога считают , что они каким - то образом связаны, чтобы заслугу все , что UX недвижимости (что является сомнительным, но совершенно другая тема).

Ремус Русану
источник
Читая между строк , я предполагаю, что смысл этих схем заключается в том, что, например, вы можете сделать так, чтобы определенные объекты были доступны для записи пользователям с db_datareaderролью и схемой, которые не обязательно читаются кем-либо еще. Хорошо подойдет для приложения, которому нужен только доступ для чтения dbo, но нужно установить некоторые хранимые процедуры или триггеры. Конечно, для этого по-прежнему необходимо вручную добавлять каждого пользователя как в роль, так и в схему.
jpaugh
-1

Ну .. это очень старая тема, но все еще 2 цента от меня для тех, кто все еще посетит здесь. Эта ссылка имеет лучший ответ на вышеуказанный запрос.

https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/ownership-and-user-schema-separation-in-sql-server

Отрывок из того же:

SQL Server поставляется с десятью заранее определенными схемами, имена которых совпадают с именами пользователей и ролей встроенной базы данных. Они существуют в основном для обратной совместимости. Вы можете удалить схемы, имена которых совпадают с именами фиксированных ролей базы данных, если они вам не нужны.

Ganesh
источник