Список разрешений пользователя на все базы данных для пользователя - PullRequest
1 голос
/ 21 сентября 2010

Есть ли способ узнать список разрешений пользователей на экземпляре сервера SQL через скрипт или инструмент

1 Ответ

0 голосов
/ 21 сентября 2010

Это может дать вам определенную информацию - однако вы не можете реально увидеть, что данный пользователь имеет с точки зрения действующих прав (поскольку любые права, которые он может иметь в связи с членством в роли базы данных, сами по себе не видны):

SELECT 
    dp.class,
    dp.class_desc,
    dp.permission_name,
    dp.state_desc, 
    p.name,
    p.principal_id,
    p.type_desc,
    so.name
FROM 
    sys.database_permissions dp
INNER JOIN 
    sys.database_principals p ON dp.grantee_principal_id = p.principal_id
INNER JOIN
    sys.sysobjects so ON dp.major_id = so.id

Но в основном sys.database_permissionssys.server_permissions) содержат информацию о правах доступа, которую вы можете присоединить к другим представлениям системного каталога, чтобы получить информацию, которую вы ищете.

Кроме того, это относится к области баз данных - я не думаю, что есть какой-либо способ получить разрешения для всех баз данных одновременно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...