Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Область применения: SQL Server
Удаляет роль базы данных из текущей базы данных.
Внимание
В SQL Server 2005 (9.x) sp_droprole был заменен инструкцией DROP ROLE. sp_droprole включается только для совместимости с более ранними версиями SQL Server и может не поддерживаться в будущем выпуске.
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_droprole [ @rolename = ] N'rolename'
[ ; ]
Аргументы
[ @rolename = ] N'rolename'
Имя роли базы данных для удаления из текущей базы данных. @rolename — sysname без значения по умолчанию. @rolename уже должно существовать в текущей базе данных.
Значения кода возврата
0 (успешно) или 1 (сбой).
Замечания
С помощью этой sp_droproleфункции можно удалить только роли базы данных.
Роль базы данных с существующими членами не может быть удалена. Прежде чем удалить роли базы данных, необходимо удалить всех ее членов. Чтобы удалить пользователей из роли, используйте sp_droprolemember. Если все пользователи по-прежнему являются членами роли, sp_droprole отобразит эти элементы.
Фиксированные роли и общедоступная роль не могут быть удалены.
Роль нельзя удалить, если она владеет защищаемыми компонентами. Перед удалением роли приложения, которой принадлежат защищаемые объекты, следует сначала перенести данные о принадлежности защищаемых объектов или удалить эти объекты. Используется ALTER AUTHORIZATION для изменения владельца объектов, которые не должны быть удалены.
sp_droprole невозможно выполнить в рамках определяемой пользователем транзакции.
Разрешения
Требуется CONTROL разрешение на роль.
Примеры
На следующем примере показано, как удаляется роль приложения Sales.
EXECUTE sp_droprole 'Sales';
GO