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


DROP ROLE (Transact-SQL)

Удаляет роль из базы данных.

Применимо для следующих объектов: SQL Server (начиная с SQL Server 2008 до текущей версии).

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

Синтаксис

DROP ROLE role_name

Аргументы

  • role_name
    Определяет роль, которую следует удалить из базы данных.

Замечания

Роли, владеющие объектами защиты, не могут быть удалены из базы данных. Чтобы удалить из базы данных роль, владеющую объектами защиты, необходимо сначала передать эти объекты другому владельцу или удалить их из базы данных. Роли, владеющие объектами защиты, не могут быть удалены из базы данных. Чтобы удалить роль, имеющую члены, необходимо сначала удалить эти члены из данной роли.

Чтобы удалить членов из роли базы данных, используйте инструкцию ALTER ROLE (Transact-SQL).

Удаление предопределенной роли базы данных не может быть осуществлено с помощью инструкции DROP ROLE.

Сведения о членстве в роли можно просмотреть в представлении каталога sys.database_role_members.

Предупреждение

Начиная с SQL Server 2005 поведение схем изменилось. В результате программный код, предполагающий, что схемы эквивалентны пользователям базы данных, возможно, не будет более возвращать правильные результаты. Старые представления каталога, включая sysobjects, не должны использоваться в той базе данных, где когда-либо выполнялась любая из следующих инструкций DDL: CREATE SCHEMA, ALTER SCHEMA, DROP SCHEMA, CREATE USER, ALTER USER, DROP USER, CREATE ROLE, ALTER ROLE, DROP ROLE, CREATE APPROLE, ALTER APPROLE, DROP APPROLE, ALTER AUTHORIZATION. В таких базах данных необходимо использовать новые представления каталога. Новые представления каталога учитывают разделение участников и схем, введенное в SQL Server 2005. Дополнительные сведения о представлениях каталогов см. в разделе Представления каталогов (Transact-SQL).

Для удаления роли сервера используйте инструкцию DROP SERVER ROLE (Transact-SQL).

Разрешения

Требуется разрешение ALTER ANY ROLE на базу данных или разрешение CONTOL на роль либо членство в роли db_securityadmin.

Примеры

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

USE AdventureWorks2012;
DROP ROLE purchasing;
GO

См. также

Справочник

CREATE ROLE (Transact-SQL)

ALTER ROLE (Transact-SQL)

EVENTDATA (Transact-SQL)

Хранимая процедура sp_addrolemember (Transact-SQL)

sys.database_role_members (Transact-SQL)

sys.database_principals (Transact-SQL)

Функции безопасности (Transact-SQL)

Основные понятия

Участники (компонент Database Engine)