我试图弄清楚如何检查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+,所以可以