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


СОЗДАТЬ РОЛЬ (Transact-SQL)

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

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

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

Syntax

CREATE ROLE role_name [ AUTHORIZATION owner_name ]  

Arguments

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

AUTHORIZATION owner_name
Пользователь (или роль) базы данных, который станет владельцем новой роли. Если пользователь не указан, владельцем роли станет пользователь, выполнивший инструкцию CREATE ROLE. Владелец роли или любой элемент роли-владельца может добавлять или удалять элементы роли.

Remarks

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

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

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

Note

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

Permissions

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

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

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

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

Examples

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

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

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

CREATE ROLE buyers AUTHORIZATION BenMiller;  
GO  

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

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

CREATE ROLE auditors AUTHORIZATION db_securityadmin;  
GO  

See Also

Субъекты (ядро СУБД)
РОЛЬ ALTER (Transact-SQL)
СБРОСИТЬ РОЛЬ (Transact-SQL)
EVENTDATA (Transact-SQL)
sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL)
Приступая к работе с разрешениями Database Engine