DROP USER (Transact-SQL)
适用于:SQL Server
Azure SQL 数据库
Azure SQL 托管实例
Azure Synapse Analytics
Analytics Platform System (PDW)
从当前数据库中删除用户。
语法
-- Syntax for SQL Server and Azure SQL Database
DROP USER [ IF EXISTS ] user_name
-- Syntax for Azure Synapse Analytics and Parallel Data Warehouse
DROP USER user_name
注意
若要查看 SQL Server 2014 (12.x) 及更早版本的 Transact-SQL 语法,请参阅早期版本文档。
参数
IF EXISTS
适用范围:SQL Server(SQL Server 2016 (13.x) 到当前版本、SQL 数据库)。
有条件地删除用户(仅当其已存在时)。
user_name
指定在此数据库中用于识别该用户的名称。
注解
不能从数据库中删除拥有安全对象的用户。 必须先删除或转移安全对象的所有权,才能删除拥有这些安全对象的数据库用户。
不能删除 guest 用户,但可在除 master 或 tempdb 之外的任何数据库中执行 REVOKE CONNECT FROM GUEST 来撤消它的 CONNECT 权限,从而禁用 guest 用户。
注意
从 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
数据库中删除数据库用户 AdventureWorks2022
。
DROP USER AbolrousHazem;
GO
另请参阅
CREATE USER (Transact-SQL)
ALTER USER (Transact-SQL)
EVENTDATA (Transact-SQL)