GRANT EXECUTE TO 사용자 또는 역할이 적용되었는지 확인

GRANT EXECUTE TO 사용자 또는 역할이 적용되었는지 확인

Microsoft SQL Server에서는 다음을 사용할 수 있습니다.

GRANT EXECUTE TO <principal>

일부 사용자나 역할에 실행 권한을 부여합니다. 나는 탐지에 관심이 있습니다:

GRANT EXECUTE해당 명령이 다음과 같은지 여부를 어떻게 간단하게 확인할 수 있습니까?이미특정 사용자/역할에 적용됩니까?(나 또는 다른 관리자에 의해)

예:

사용하고 GRANT EXECUTE TO user01몇 주 후에 다시 돌아오는 경우: 나(또는 다른 사람)가 이미 사용했는지 확인하는 간단한 방법이 있습니까 GRANT EXECUTE TO user01?

답변1

저장된 위치를 찾았으므로 누군가가 더 간단한 답변을 게시할 때까지 확인을 위해 이 코드 조각을 가까이에 보관하겠습니다.

DECLARE @username nvarchar(128) = 'user01';

SELECT COUNT(*) FROM sys.database_permissions 
    WHERE grantee_principal_id = (SELECT UID FROM sysusers WHERE name = @username) 
        AND class_desc = 'DATABASE'
        AND type='EX' 
        AND permission_name='EXECUTE' 
        AND state = 'G';

결과는 0부정적인 대답을 의미하고, 1긍정적인 대답을 의미합니다.

관련 정보