sp_droprolemember (Transact-SQL)
Удаляет в текущей базе данных учетную запись безопасности из роли SQL Server.
Синтаксис
sp_droprolemember [ @rolename = ] 'role' ,
[ @membername = ] 'security_account'
Аргументы
[ @rolename = ] 'role'
Имя роли, из которой удаляется ее член. Аргумент role имеет тип sysname, значения по умолчанию нет. Аргумент role должен существовать в текущей базе данных.[ @membername = ] 'security_account'
Имя учетной записи безопасности, удаляемой из роли. Аргумент security_account имеет тип sysname и не имеет значения по умолчанию. Значение аргумента security_account может быть пользователем базы данных, другой ролью базы данных, именем входа Windows и группой Windows. Аргумент security_account должен существовать в текущей базе данных.
Значения кодов возврата
0 (успешное завершение) или 1 (ошибка)
Замечания
sp_droprolemember исключает члена из роли базы данных, удаляя строку из таблицы sysmembers. При удалении члена из роли он теряет все разрешения, которые имел как член этой роли.
Для удаления пользователя из предопределенной роли сервера пользуйтесь хранимой процедурой sp_dropsrvrolemember. Пользователи не могут быть удалены из роли public, а dbo не может быть удален из какой-либо роли.
Хранимая процедура sp_helpuser позволяет просматривать членов роли SQL Server, а хранимая процедура sp_addrolemember — добавлять к роли новых членов.
Хранимая процедура sp_droprolemember не может быть выполнена в пользовательской транзакции.
Разрешения
Необходимо разрешение ALTER на эту роль.
Примеры
В следующем примере производится удаление пользователя JonB из роли Sales.
EXEC sp_droprolemember 'Sales', 'Jonb'