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


sp_addrole (Transact-SQL)

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

Важное примечаниеВажно!

Процедура sp_addrole доступна в целях совместимости с предыдущими версиями Microsoft SQL Server и может не поддерживаться в следующих выпусках. Вместо нее следует использовать инструкцию CREATE ROLE.

Значок ссылки на раздел Синтаксические обозначения Transact-SQL

Синтаксис

sp_addrole [ @rolename = ] 'role' [ , [ @ownername = ] 'owner' ] 

Аргументы

  • [ @rolename = ] 'role'
    Имя новой роли базы данных. Аргумент role имеет тип sysname и не имеет значения по умолчанию. Значение role должно быть уникальным идентификатором и не должно существовать в текущей базе данных.

  • [ @ownername =] 'owner'
    Владелец новой роли базы данных. owner имеет тип sysname, по умолчанию — текущий пользователь. Значение owner должно быть пользователем базы данных или ролью базы данных в текущей базе данных.

Значения кодов возврата

0 (успешное завершение) или 1 (неуспешное завершение)

Замечания

Имена ролей базы данных SQL Server могут содержать от 1 до 128 символов, включая буквы, символы и цифры. Имя роли базы данных не должно содержать символ обратной косой черты (\), иметь значение NULL или являться пустой строкой ('').

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

ПримечаниеПримечание

Новые роли сервера создавать нельзя. Роли можно создавать только на уровне базы данных.

Процедуру sp_addrole нельзя применять в пользовательской транзакции.

Разрешения

Необходимо наличие разрешения CREATE ROLE в базе данных. При создании схемы необходимо наличие разрешения CREATE SCHEMA в этой базе данных. Если аргумент owner указан как пользователь или группа, то этому пользователю или группе необходимо разрешение IMPERSONATE. Если аргумент owner указан как роль, то для этой роли или члена этой роли необходимо разрешение ALTER. Если владелец указан как роль приложения, то для этой роли приложения необходимо разрешение ALTER.

Примеры

В следующем примере в текущую базу данных добавляется новая роль с именем Managers.

EXEC sp_addrole 'Managers'

См. также

Справочник

Системные хранимые процедуры (Transact-SQL)

Хранимые процедуры безопасности (Transact-SQL)

CREATE ROLE (Transact-SQL)