Ниже показывается как узнать, кто входит в роли базы данных:
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'
показывает данные согласно вашему фильтру, как по пользователю, так по группе
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'
показывает данные согласно вашему фильтру, как по пользователю, так по группе
Комментариев нет :
Отправить комментарий