sql - 检查角色是否由数据库中的特定用户组成?

标签 sql sql-server database roles

我正试图从多个数据库中的角色中删除用户。不确定用户是否可以在所有数据库中担任相同角色。我如何检查用户是否在角色中以及是否将用户从角色中删除。

例如 如果用户存在于角色中 开始 从角色中删除用户 结束

最佳答案

这是我做的:

IF EXISTS(SELECT *
          FROM sys.database_role_members AS RM
          JOIN sys.database_principals AS U
            ON RM.member_principal_id = U.principal_id
          JOIN sys.database_principals AS R
            ON RM.role_principal_id = R.principal_id
          WHERE U.name = @username
            AND R.name = @rolename)
EXEC sp_droprolemember @rolename, @username;

关于sql - 检查角色是否由数据库中的特定用户组成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2193598/

相关文章:

sql - 两个实体如何与 1 :N relationship related?

mysql - 找出日期之间的差异

sql - 选择TOP未完成查询?

php - 为什么我的 MySQL 数据库会添加空行?

python - 为什么我无法安装 Cassandra 驱动程序

sql-server - 在 Sql Server Analysis Services 中计算消费运行总计的最有效方法是什么?

c# - 如何更改 SQL 中存储过程的排序规则?

sql - 如何使用多级 SQL 创建类别树层次结构?

ruby-on-rails - Rails 迁移 : check variable existance

database - 将异常记录到 NServiceBus 中的数据库