0

私たちが取り組んでいるデータベースには、新しいユーザーに対するいくつかの標準的なアクセス許可がありますが、時々、一部のユーザーは通常のアクセス許可よりも多くを必要とします(それらのほとんどはいくつかのSPに対するEXECです)。私はこれらのユーザーGRANTを管理してきました。ただし、管理者の目的で、その情報の一部を含む個人用テーブルを作成して、役割とユーザー情報を簡単かつ迅速に区別できるようにしたいと思います。

この情報を見つけて操作できるシステムテーブルを知っていますか?

編集:

現在、SQLServer2008を使用しています。

4

1 に答える 1

1
SELECT
      dp.class_desc, dp.permission_name, dp.state_desc,
      ObjectName = OBJECT_NAME(major_id), GranteeName = grantee.name, GrantorName = grantor.name
      FROM sys.database_permissions dp
      JOIN sys.database_principals grantee on dp.grantee_principal_id = grantee.principal_id
      JOIN sys.database_principals grantor on dp.grantor_principal_id = grantor.principal_id

役割の場合:

SELECT
    p.name, p.type_desc, pp.name, pp.type_desc, pp.is_fixed_role
    FROM sys.database_role_members roles
    JOIN sys.database_principals p ON roles.member_principal_id = p.principal_id
    JOIN sys.database_principals pp ON roles.role_principal_id = pp.principal_id
于 2012-06-22T13:20:24.673 に答える