기본적으로 SQL Server Profiler를 실행하려면 추적 작성에 사용된 Transact-SQL 저장 프로시저와 동일한 사용자 권한이 있어야 합니다. SQL Server Profiler를 실행하려면 사용자에게 ALTER TRACE 권한이 있어야 합니다. 자세한 내용은 GRANT 서버 사용 권한 (Transact-SQL)을 참조하세요.
중요합니다
SHOWPLAN, ALTER TRACE 또는 VIEW SERVER STATE 권한이 있는 사용자는 Showplan 출력에서 캡처된 쿼리를 볼 수 있습니다. 이러한 쿼리에는 암호 같은 중요한 정보가 포함되어 있을 수 있습니다. 따라서 db_owner 고정 데이터베이스 역할의 멤버 또는 sysadmin 고정 서버 역할의 멤버와 같은 중요한 정보를 볼 수 있는 권한이 있는 사용자에게만 이러한 권한을 부여하는 것이 좋습니다. 또한 실행 계획 파일을 저장하거나 실행 계획 관련 이벤트가 포함된 파일을 추적할 때는 NTFS 파일 시스템이 적용된 위치만 사용하고, 민감할 수 있는 정보를 볼 지위에 있는 사용자에게만 해당 위치에 대한 액세스 권한을 부여하는 것이 권장됩니다.
추적을 재생하는 데 사용되는 권한
추적을 재생할 때도 추적을 재생하는 사용자에게 ALTER TRACE 권한이 있어야 합니다.
그러나 추적을 재생하는 동안 재생 중인 추적에 로그인 감사 이벤트가 발생하는 경우 SQL Server Profiler가 EXECUTE AS 명령을 사용합니다. SQL Server Profiler는 EXECUTE AS 명령을 사용하여 로그인 이벤트와 연관된 사용자를 가장합니다.
SQL Server Profiler에서 재생 중인 추적에 로그인 이벤트가 발생하는 경우 다음 권한 검사가 수행됩니다:
ALTER TRACE 권한이 있는 사용자1은 추적 재생을 시작합니다.
사용자2에 대한 로그인 이벤트가 재생된 추적에서 발견됩니다.
SQL Server Profiler는 EXECUTE AS 명령을 사용하여 사용자2를 가장합니다.
SQL Server는 사용자2에 대한 인증을 시도하고 그 결과에 따라 다음 중 하나가 발생합니다:
사용자2가 인증 받지 못한 경우 SQL Server는 오류를 반환하고 사용자1로 추적 재생을 계속합니다.
사용자2가 성공적으로 인증되면 사용자2로서 추적을 재실행합니다.
대상 데이터베이스에 대해 사용자2에 대한 권한을 검사하고 그 결과에 따라 다음 중 하나가 발생합니다:
사용자2가 대상 데이터베이스에 대한 권한을 가지고 있다면, 사용자2로 가장하는 것이 성공적으로 이루어졌으며, 해당 추적이 사용자2로서 재생됩니다.
사용자2에 대상 데이터베이스에 대한 권한이 없는 경우 서버는 해당 데이터베이스에 대한 게스트 사용자를 확인합니다.
대상 데이터베이스에 대해 게스트 사용자의 존재를 검사하고 그 결과에 따라 다음 중 하나가 발생합니다:
게스트 계정이 있는 경우 추적이 게스트 계정으로 재생됩니다.
대상 데이터베이스에 게스트 계정이 없으면 오류가 반환되고 추적이 사용자1로 재생됩니다.
다음 다이어그램은 추적 재생 시 이러한 권한의 검사 프로세스를 보여 줍니다:
또한 참조하십시오
SQL Server 프로파일러 저장 프로시저(Transact-SQL)추적 재생추적 만들기(SQL Server 프로파일러)추적 테이블 재생(SQL Server 프로파일러)추적 파일 재생(SQL Server 프로파일러)