簡體   English   中英

如何確定SQL Server中是否存在數據庫角色?

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

我試圖找出如何檢查SQL Server中是否存在數據庫角色。 我想做這樣的事情:

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

我應該在這里使用什么表/ proc?

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

USER_ID已棄用,可能會中斷。 CREATE ROLE表示SQL 2005+所以沒關系

if not exists (select 1 from sys.database_principals where name='role' and Type = 'R')
begin
CREATE ROLE role
    AUTHORIZATION MyUser;
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM