Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Область применения: SQL Server
Создает новую роль базы данных в текущей базе данных.
Внимание
sp_addrole включается в совместимость с более ранними версиями SQL Server и может не поддерживаться в будущем выпуске. Вместо этого используйте CREATE ROLE .
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_addrole
[ @rolename = ] N'rolename'
[ , [ @ownername = ] N'ownername' ]
[ ; ]
Аргументы
[ @rolename = ] N'rolename'
Имя новой роли базы данных. @rolename — sysname без значения по умолчанию. @rolename должен быть допустимым идентификатором и не должен существовать в текущей базе данных.
[ @ownername = ] N'ownername'
Владелец новой роли базы данных. @ownername — sysname, с текущим исполняемым пользователем по умолчанию. @ownername должна быть ролью пользователя базы данных или базы данных в текущей базе данных.
Значения кода возврата
0 (успешно) или 1 (сбой).
Замечания
Имена ролей базы данных SQL Server могут содержать от 1 до 128 символов, включая буквы, символы и цифры. Имена ролей базы данных не могут содержать символ обратной косой черты (\), быть NULLили пустой строкой ('').
После добавления роли базы данных используйте sp_addrolemember для добавления субъектов в роль. DENYЕсли GRANTдля применения разрешений к роли базы данных используются инструкции или REVOKE инструкции, члены роли базы данных наследуют эти разрешения, как если бы разрешения применялись непосредственно к их учетным записям.
Примечание.
Не удается создать новые роли сервера. Роли можно создавать только на уровне базы данных.
sp_addrole нельзя использовать внутри определяемой пользователем транзакции.
Разрешения
Необходимо разрешение CREATE ROLE на базу данных. При создании схемы требуется CREATE SCHEMA в базе данных. Если @ownername указан как пользователь или группа, требуется IMPERSONATE для этого пользователя или группы. Если @ownername указана в качестве роли, требуется ALTER разрешение на ту роль или член этой роли. Если владелец указан в качестве роли приложения, требуется ALTER разрешение на роль приложения.
Примеры
В следующем примере в текущую базу данных добавляется новая роль с именем Managers.
EXECUTE sp_addrole 'Managers';