gpt4 book ai didi

sql-server - 如何测试 SQL Server 中用户是否存在?

转载 作者:行者123 更新时间:2023-12-02 01:14:10 25 4
gpt4 key购买 nike

我想在 SQL Server 脚本中删除用户,但我需要先测试用户是否存在,否则会出现脚本错误。当删除表或存储过程时,我像这样检查 sysobjects 表:

IF EXISTS (
SELECT *
FROM sysobjects
WHERE id = object_id(N'[dbo].[up_SetMedOptions]')
AND OBJECTPROPERTY(id, N'IsProcedure') = 1
)
Drop Procedure up_SetMedOptions;
GO

检查用户的推论是什么?请注意,我不是在询问服务器的数据库登录!该问题与特定数据库中的用户有关。

最佳答案

SSMS 按以下方式编写脚本:

对于 SQL 2005/2008 及更高版本:

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

对于 SQL 2000:

IF  EXISTS (SELECT * FROM dbo.sysusers WHERE name = N'username')
EXEC dbo.sp_revokedbaccess N'username'

关于sql-server - 如何测试 SQL Server 中用户是否存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/356000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com