从SQL Server数据库中删除用户?

san*_*084 26 sql sql-server user-management

如何在不删除日志记录的情况下从数据库中删除用户?

该脚本应检查用户是否存在于数据库中,如果是,则删除该用户.

dou*_*g_w 50

这是你想要做的吗?

IF  EXISTS (SELECT * FROM sys.database_principals WHERE name = N'username')
DROP USER [username]
Run Code Online (Sandbox Code Playgroud)

如果您使用的是SQL Server Management Studio,则可以浏览到该用户并右键单击选择删除.

  • 'n'只是告诉sql server字符串值是unicode.这可以防止在各种字符集中工作的人员出现问题. (2认同)

QMa*_*ter 12

接受的答案已经足够好了。此外,很高兴知道 SQL Server 将IF EXIST添加到版本 2016 (13.x) 的某些 DROP 命令,包括“ DROP USER ”命令。

如果存在

适用于:SQL Server(SQL Server 2016 (13.x) 到当前版本,SQL 数据库)。

仅当用户已经存在时,才会有条件地删除该用户。

所以你可以删除用户如下:

-- Syntax for SQL Server and Azure SQL Database  
DROP USER IF EXISTS user_name  
Run Code Online (Sandbox Code Playgroud)

请参阅此链接中的完整说明:DROP USER (Transact-SQL)

希望这有帮助。

  • 较旧的答案并不是不正确,但这是 2016+ 最干净、最简洁的方法。 (3认同)