我怎样才能看到所有在数据库SQL服务器上拥有取消屏蔽权限的用户?

问题描述 投票:0回答:2

我有一些列已被屏蔽,我如何才能看到有权查看这些字段的用户?

谢谢。

sql sql-server mask masking
2个回答
0
投票

UNMASK 权限是在数据库级别授予的,因此您可以查询

sys.database_permissions
对象以查看哪些数据库主体已被授予该权限。

脚本(改编自https://sqlserverguides.com/sql-server-user-permissions/):

SELECT
    Username           = pri.name
   ,[User Type]        = pri.type_desc
   ,Permission         = permit.permission_name
   ,[Permission State] = permit.state_desc
   ,Class              = permit.class_desc
FROM
    sys.database_principals  pri
    LEFT JOIN
    sys.database_permissions permit ON
        permit.grantee_principal_id = pri.principal_id
WHERE permit.permission_name = 'UNMASK'

0
投票

您还可以通过右键单击对象资源管理器中的数据库并选择属性 > 权限来在 SSMS 中查看此信息。

© www.soinside.com 2019 - 2024. All rights reserved.