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


DROP ROLE (Transact-SQL)

Область применения: SQL Server Управляемый экземпляр SQL Azure базе данных SQL Azure Synapse Analytics Analytics Platform System (PDW) в Microsoft Fabric

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

Соглашения о синтаксисе Transact-SQL

Синтаксис

Синтаксис базы данных SQL Server, База данных SQL Azure, Управляемый экземпляр SQL Azure и Базы данных SQL Fabric

DROP ROLE [ IF EXISTS ] role_name

Синтаксис для Azure Synapse Analytics и Parallel Data Warehouse

DROP ROLE role_name

Аргументы

IF EXISTS
Применимо к: SQL Server (SQL Server 2016 (13.x) до текущей версии.

Условное удаление роли только в том случае, если она уже существует.

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 на базу данных, разрешение CONTROL на роль или членство в роли db_securityadmin.

Примеры

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

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)