DROP ROLE (Transact-SQL)
Удаляет роль из базы данных.
Соглашения о синтаксисе в Transact-SQL
Синтаксис
DROP ROLE role_name
Аргументы
- role_name
Определяет роль, которую следует удалить из базы данных.
Замечания
Роли, владеющие объектами защиты, не могут быть удалены из базы данных. Чтобы удалить из базы данных роль, владеющую объектами защиты, необходимо сначала передать эти объекты другому владельцу или удалить их из базы данных. Роли, владеющие объектами защиты, не могут быть удалены из базы данных. Чтобы удалить роль, имеющую члены, необходимо сначала удалить эти члены из данной роли.
Удаление фиксированной роли базы данных не может быть осуществлено с помощью инструкции DROP ROLE.
Сведения о членстве в роли можно просмотреть в представлении каталога sys.database_role_members.
![]() |
---|
В SQL Server 2005 поведение схем отличается от их поведения в предыдущих версиях SQL Server. Код, предполагающий, что схемы эквивалентны пользователям базы данных, может возвращать неверные результаты. Старые представления каталога содержат таблицу 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). |
Разрешения
Для выполнения этой хранимой процедуры необходимо разрешение CONTROL, относящееся к роли, или разрешение ALTER ANY ROLE, относящееся к базе данных.
Примеры
В следующем примере роль базы данных purchasing
удаляется из AdventureWorks
.
USE AdventureWorks;
DROP ROLE purchasing;
GO
См. также
Справочник
ALTER ROLE (Transact-SQL)
CREATE ROLE (Transact-SQL)
DROP ROLE (Transact-SQL)
EVENTDATA (Transact-SQL)
Хранимая процедура sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL)