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


DROP ROLE (Transact-SQL)

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

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

Синтаксис

DROP ROLE role_name

Аргументы

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

Замечания

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

Удаление предопределенной роли базы данных не может быть осуществлено с помощью инструкции 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).

Разрешения

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

Примеры

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

USE AdventureWorks2008R2;
DROP ROLE purchasing;
GO