Поделиться через


CREATE ROLE (Transact-SQL)

Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure конечной точке аналитики платформы Аналитики Azure Synapse Analytics (PDW)в Microsoft FabricХранилище в базе данных Microsoft FabricSQL в Microsoft Fabric

Создает новую роль базы данных в текущей базе данных.

Соглашения о синтаксисе Transact-SQL

Синтаксис

CREATE ROLE role_name [ AUTHORIZATION owner_name ]  

Аргументы

role_name
Имя создаваемой роли.

OWNER_NAME АВТОРИЗАЦИИ
Пользователь (или роль) базы данных, который станет владельцем новой роли. Если пользователь не указан, владельцем роли станет пользователь, выполнивший инструкцию CREATE ROLE. Владелец роли или любой элемент роли-владельца может добавлять или удалять элементы роли.

Замечания

Роли — это сущности, защищаемые на уровне базы данных. После создания роли необходимо настроить для нее разрешения уровня базы данных при помощи инструкций GRANT, DENY и REVOKE. Для добавления членов в роль базы данных следует использовать инструкцию ALTER ROLE (Transact-SQL). Дополнительные сведения см. в статье Роли уровня базы данных.

Роли базы данных видны в представлениях каталога sys.database_role_members и sys.database_principals.

Сведения о проектировании системы разрешений см. в статье Getting Started with Database Engine Permissions.

Замечание

Схемы не эквивалентны пользователям базы данных. Используйте представления системного каталога для выявления различий между пользователями базы данных и схемами.

Разрешения

Требуется разрешение CREATE ROLE для базы данных или членство в предопределенной роли базы данных db_securityadmin. Если указывается параметр AUTHORIZATION, необходимы также следующие разрешения:

  • Для передачи роли во владение другому пользователю необходимо связанное с этим пользователем разрешение IMPERSONATE.

  • Для передачи роли во владение другой роли необходимо членство в роли-получателе или связанное с этой ролью разрешение ALTER.

  • Для передачи роли во владение роли приложения необходимо связанное с прикладной ролью разрешение ALTER.

Примеры

Во всех приведенных ниже примерах используется база данных AdventureWorks.

А. Создание роли базы данных, принадлежащей пользователю базы данных

Следующий пример создает роль базы данных buyers, принадлежащую пользователю BenMiller.

CREATE ROLE buyers AUTHORIZATION BenMiller;  
GO  

В. Создание роли базы данных, принадлежащей предопределенной роли базы данных

Следующий пример создает роль базы данных auditors, принадлежащую предопределенной роли базы данных db_securityadmin.

CREATE ROLE auditors AUTHORIZATION db_securityadmin;  
GO  

См. также

Субъекты (ядро СУБД)
ALTER ROLE (Transact-SQL)
DROP ROLE (Transact-SQL)
EVENTDATA (Transact-SQL)
Хранимая процедура Хранимая процедура sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL)
Приступая к работе с разрешениями Database Engine