DROP USER (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 из базы данных AdventureWorks2008R2.
USE AdventureWorks2008R2;
DROP USER AbolrousHazem;
GO
См. также