Я обыскал все вокруг и не нашел окончательного ответа на этот вопрос.
Мне нужен скрипт, который может дать ВСЕ разрешения для связанной роли.
Есть мысли, или это вообще возможно?
Это заставляет меня ЗАКРЫТЬ - но я не могу перевернуть его и дать сводку по ролям, а не пользователям.
WITH perms_cte as
(
select USER_NAME(p.grantee_principal_id) AS principal_name,
dp.principal_id,
dp.type_desc AS principal_type_desc,
p.class_desc,
OBJECT_NAME(p.major_id) AS object_name,
p.permission_name,
p.state_desc AS permission_state_desc
from sys.database_permissions p
inner JOIN sys.database_principals dp
on p.grantee_principal_id = dp.principal_id
)
--role members
SELECT rm.member_principal_name, rm.principal_type_desc, p.class_desc,
p.object_name, p.permission_name, p.permission_state_desc,rm.role_name
FROM perms_cte p
right outer JOIN (
select role_principal_id, dp.type_desc as principal_type_desc,
member_principal_id,user_name(member_principal_id) as member_principal_name,
user_name(role_principal_id) as role_name--,*
from sys.database_role_members rm
INNER JOIN sys.database_principals dp
ON rm.member_principal_id = dp.principal_id
) rm
ON rm.role_principal_id = p.principal_id
order by 1
sql-server
sql-server-2008-r2
elgabito
источник
источник
Я не могу найти ссылку, но вот очень описательный сценарий (он был у меня в хранилище в течение многих лет - очень полезен для аудита):
источник
Это, я думаю, должно сделать это, замените «бла» именем вашей роли или пользователем базы данных (обратите внимание, что встроенные роли не показывают наличие каких-либо разрешений):
источник
Просто чтобы добавить в список, у меня есть пара SP sp_dbpermissions и sp_srvpermissions, которые можно использовать для возврата информации того же типа.
Вы можете запустить
И получить это
(Вы не можете видеть это, но сценарий предоставления отключен справа на третьем наборе данных и перетаскивает / создает сценарии справа на первом наборе данных.)
источник
Это мое усилие. У меня есть более длинный скрипт, который также проходит по всем БД, дайте мне знать, если это более полезно:
источник
просто чтобы добавить к принятому ответу , роль может иногда принадлежать другой роли.
источник
С тех пор как это снова появилось через бота Сообщества, я добавлю свой скрипт в шапку, так как он довольно исчерпывающий, и я не встречал ничего такого, что не было бы идентифицировано. Бонус в том, что выходные данные хорошо отформатированы и допускают довольно обширные роли базы данных:
источник