How do I determine if a database role exists in SQL Server?

后端 未结 2 1312
没有蜡笔的小新
没有蜡笔的小新 2020-12-30 18:43

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          


        
相关标签:
2条回答
  • 2020-12-30 18:48
    SELECT DATABASE_PRINCIPAL_ID('role')
    --or
    IF DATABASE_PRINCIPAL_ID('role') IS NULL
    

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

    0 讨论(0)
  • 2020-12-30 19:15
    if not exists (select 1 from sys.database_principals where name='role' and Type = 'R')
    begin
    CREATE ROLE role
        AUTHORIZATION MyUser;
    end
    
    0 讨论(0)
提交回复
热议问题