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

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

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

最佳答案

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

USER_ID已过时,可能会中断。 CREATE ROLE表示SQL 2005+,所以可以

关于sql - 如何确定SQL Server中是否存在数据库角色?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1201160/

10-13 02:51