Список пользователей и их роли в SQL Server

Я хочу получить список всех пользователей в базе данных SQL-сервера и их ролях. Я пытаюсь выяснить, есть ли у определенных пользователей привилегии для нескольких баз данных. Есть ли запрос, который может сделать это напрямую?

Ответ 1

Я думаю, вы найдете этот ресурс полезным:

http://consultingblogs.emc.com/jamiethomson/archive/2007/02/09/SQL-Server-2005_3A00_-View-all-permissions.aspx

Из статьи:

select dp.NAME AS principal_name,
       dp.type_desc AS principal_type_desc,
       o.NAME AS object_name,
       p.permission_name,
       p.state_desc AS permission_state_desc
from   sys.database_permissions p
left   OUTER JOIN sys.all_objects o
on     p.major_id = o.OBJECT_ID
inner  JOIN sys.database_principals dp
on     p.grantee_principal_id = dp.principal_id