Я хочу получить список всех пользователей в базе данных сервера SQL и их ролей.Я пытаюсь выяснить, есть ли у определенных пользователей права доступа к нескольким базам данных.Есть ли запрос, который может сделать это напрямую?
Я думаю, вы найдете этот ресурс полезным:
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