본문 바로가기

Windows Server

MS SQL에서 계정에 대한 조회(Select) 권한 확인하기

반응형

MS SQL 내 생성된 계정에 대해 어떤 View/Table에 대한 조회권한이 부여된 상태인지 궁금할 때가 있다.

이럴땐 아래 Query를 활용하면 된다.

 

해당 Query는 sys.database_permissions 및 sys.objects 시스템 카탈로그 뷰에서 권한 정보를 가져오는 Query이다. 

 

DECLARE @UserName NVARCHAR(128) = '계정명';

SELECT 
  USER_NAME(p.grantee_principal_id) AS UserName, 
  o.name AS ViewName,
  p.permission_name AS Permission
FROM 
  sys.database_permissions p
  INNER JOIN sys.objects o ON p.major_id = o.object_id
WHERE 
  o.type = 'V' AND
  p.permission_name = 'SELECT' AND
  USER_NAME(p.grantee_principal_id) = @UserName
ORDER BY
  ViewName;
반응형