如何确定 SQL Server 中是否存在数据库角色? [英] How do I determine if a database role exists in SQL Server?

查看:31
本文介绍了如何确定 SQL Server 中是否存在数据库角色?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想弄清楚如何检查 SQL Server 中是否存在数据库角色.我想做这样的事情:

I'm trying to figure out how I can check if a database role exists in SQL Server. I want to do something like this:

if not exists (select 1 from sometable where rolename='role')
begin
CREATE ROLE role
    AUTHORIZATION MyUser;
end

我应该在这里使用什么表/过程?

What table/proc should I use here?

推荐答案

SELECT DATABASE_PRINCIPAL_ID('role')
--or
IF DATABASE_PRINCIPAL_ID('role') IS NULL

USER_ID 已弃用,可能会中断.CREATE ROLE 表示 SQL 2005+ 所以没问题

USER_ID is deprecated and could break. CREATE ROLE indicates SQL 2005+ so it's OK

这篇关于如何确定 SQL Server 中是否存在数据库角色?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆