2009-04-23 4 views
1

사용자가 실행 권한을 요청한 SQL Server 2005의 저장 프로 시저가 더 이상 저장 프로 시저를 실행할 수 없으므로 제거되었습니다. 저장 프로 시저에서 사용 권한/부여가 변경된 사람과시기를 찾는 방법

나는 추적 파일에서 찾을려고했는데, 내 질문은

알아낼 수있는 다른 방법이이 저장 프로 시저에 대한 항목을 찾을 수있는 사람 및 /이 저장 프로 시저의 보조금 허가 때 변경 되었습니까?

답변

1

백업을 복원 하시겠습니까?

1

불행히도 없습니다. 실제 REVOKE 또는 DENY 문을 (예 : DDL 트리거를 통해) 감사해야합니다.

그러나 프로 시저를 삭제하고 다시 작성하여 감사 권한을 변경할 필요가없는 경우. sys.objects을 쿼리하여 create_datemodify_date이 발생했는지 확인할 수 있습니다.

로그인 제거와 같은 다른 옵션이 있으므로 권한이 변경되지 않아도 사용자는 더 이상 코드를 실행할 수 없습니다. 또는 Windows 인증을 사용하는 경우 NT 그룹이 변경되었습니다. 명시적인 REVOKE/DENY 또는 DROP/CREATE가 분명한 대답이 아닐 수도 있습니다. 의견에 따라

편집 :

귀하의 질문은 "..users가 ... 제거 실행 권한을 주장"고 말했다. 명시 적으로 저장된 proc permisson 변경 사항뿐만 아니라 환경이 변경되었을 수 있습니다. 로그인이가

  • 그룹 정책이 NT 그룹이 더 이상 SQL 액세스 할 수 있도록 변경되지 데이터베이스에서 사용자 매핑없이 삭제하고 다시 한
    • 사용자가 그룹에서 제외했다 : 그 경우 무엇이며, 서버 ("네트워크에서 로그인 허용"- 필요)

    저장 프로 시저 권한이 변경되었거나 사용자가 저장 프로 시저를 어떻게 변경 했습니까?

  • 1
    select P.permission_name, 
    P.state_desc, 
    U.name GranteeName, 
    U2.name GrantorName, 
    T.* 
    from sys.database_permissions P 
    JOIN sys.objects T ON P.major_id = T.object_id 
    JOIN sysusers U ON U.uid = P.grantee_principal_id 
    JOIN sysusers U2 ON U2.uid = P.grantor_principal_id 
    ORDER by T.modify_date desc 
    
    Unfortunately, the 'who' is typically 'dbo'... 
    
    관련 문제