среда, 29 августа 2012 г.

Кто входит в группу безопастности MS SQL

Ниже показывается как узнать, кто входит в роли базы данных:

1) Фукнция
exeс sp_helprolemember
функция показывает полный перечень список роль БД,  учетная запись, SID учетной записи.
Недостаток : нельзя применить фильтр, хотя можно написать через временную таблицу выборку и сделать фильтр, но я сделал проще

2)Следующий запрос:
select t.* from

(select --m.role_principal_id,
 r.RoleName,u.name as username

from sys.database_role_members m inner join sys.sysusers u on m.member_principal_id=u.uid

inner join (select 'RoleName' = name, 'RoleId' = principal_id, 'IsAppRole' = case type when 'A' then 1 else 0 end

from sys.database_principals where (type = 'R' or type = 'A')) r on r.RoleId=m.role_principal_id

) as t

where --t.username='user'
t..RoleName='db_owner'
показывает данные согласно вашему фильтру, как по пользователю, так по группе

Комментариев нет :

Отправить комментарий