[SQL][Script]登入帳號角色查詢

[SQL][Script]登入帳號角色查詢

一個朋友詢問兩段語法,整理一下給需要使用的人,如果想要查詢所有帳號具有那些資料庫角色,則可以透過以下的語法來查看:

SELECT p.type_desc 'Type', p.[name] AS 'Login', n.[name] AS 'Role'
FROM sys.server_principals p 
  JOIN sys.server_role_members r ON p.principal_id = r.member_principal_id 
  JOIN sys.server_principals n ON r.role_principal_id = n.principal_id 
  ORDER BY 1, 2

 

但如果要看某個使用者在資料庫內具有那些角色的話,則要調整一下語法,在資料庫下使用:

SELECT p.type_desc 'Type', p.[name] AS 'Login', n.[name] AS 'Role'
FROM sys.database_principals p 
  JOIN sys.database_role_members r ON p.principal_id = r.member_principal_id 
  JOIN sys.database_principals n ON r.role_principal_id = n.principal_id 
  ORDER BY 1, 2