如何确定SQL Server中是否存在数据库angular色?
我试图找出如何检查SQL Server中是否存在数据库angular色。 我想要做这样的事情:
if not exists (select 1 from sometable where rolename='role') begin CREATE ROLE role AUTHORIZATION MyUser; end
我应该在这里使用什么table / 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