DROP USER (Transact-SQL)

适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics Platform System (PDW) Microsoft Fabric SQL 数据库

从当前数据库中删除用户。

Transact-SQL 语法约定

语法

-- 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  

参数

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)