本文介绍了如何确定 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 中是否存在数据库角色?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!