DROP USER (Transact-SQL)
Удаляет пользователя из текущей базы данных.
Синтаксические обозначения в Transact-SQL
Синтаксис
DROP USER user_name
Аргументы
- user_name
Указывает имя, по которому пользователь идентифицируется в этой базе данных.
Замечания
Пользователи, которые владеют защищаемыми объектами, не могут быть удалены из базы данных. Перед удалением пользователя, который владеет защищаемым объектом, необходимо удалить или сменить владельца защищаемого объекта.
Пользователь guest не может быть удален, однако пользователя guest можно отключить, отменив его разрешение CONNECT с помощью инструкции REVOKE CONNECT FROM GUEST в любой базе данных, кроме master или tempdb.
Внимание! |
---|
Начиная с 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 USER для базы данных.
Примеры
Следующий пример удаляет пользователя базы данных AbolrousHazem из базы данных AdventureWorks2012.
USE AdventureWorks2012;
DROP USER AbolrousHazem;
GO