SQL Server: Полномочия на таблице

SQL Server 2008:

Как я узнаю, какие роли имеют какой полномочия на данной таблице.

Заранее спасибо.

6
задан shA.t 4 July 2016 в 05:51
поделиться

1 ответ

Вы можете получить все разрешения, предоставленные в базе данных, и отфильтровать их для вашей таблицы:

select permission_name, state, pr.name
from sys.database_permissions pe
join sys.database_principals pr on pe.grantee_principal_id = pr.principal_id
where pe.class = 1 
    and pe.major_id = object_id('<table_name>')
    and pe.minor_id = 0;

Кроме того, вам нужно добавить встроенные разрешения ролей (db_owner, db_datareader, db_datawriter и т.д.). Доступ к объектам также может осуществляться через цепочку прав собственности.

Вы всегда можете узнать свое собственное эффективное разрешение на любой объект, используя fn_my_permissions('table_name', 'OBJECT')

6
ответ дан 17 December 2019 в 02:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: