SQL Server 프로파일러 실행에 필요한 권한Permissions Required to Run SQL Server Profiler

이 항목 적용 대상: 예SQL Server없습니다Azure SQL 데이터베이스없습니다Azure SQL 데이터 웨어하우스 없습니다 병렬 데이터 웨어하우스THIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse 기본적으로 실행 SQL Server 프로파일러SQL Server Profiler 추적 작성에 사용 되는 TRANSACT-SQL 저장 프로시저와 같은 사용자 권한이 필요 합니다. By default, running SQL Server 프로파일러SQL Server Profiler requires the same user permissions as the Transact-SQL stored procedures that are used to create traces. SQL Server 프로파일러SQL Server Profiler를 실행하려면 사용자에게 ALTER TRACE 권한이 있어야 합니다.To run SQL Server 프로파일러SQL Server Profiler, users must be granted the ALTER TRACE permission. 자세한 내용은 GRANT 서버 사용 권한(Transact-SQL)을 참조하세요.For more information, see GRANT Server Permissions (Transact-SQL).

중요

SHOWPLAN, ALTER TRACE 또는 VIEW SERVER STATE 권한이 있는 사용자는 실행 계획 출력에 캡처된 쿼리를 볼 수 있습니다.Users who have the SHOWPLAN, the ALTER TRACE, or the VIEW SERVER STATE permission can view queries that are captured in Showplan output. 이러한 쿼리에는 암호 같은 중요한 정보가 포함되어 있을 수 있습니다.These queries may contain sensitive information such as passwords. 따라서 db_owner 고정 데이터베이스 역할의 멤버나 sysadmin 고정 서버 역할의 멤버 같이 중요한 정보를 볼 지위에 있는 사용자에게만 이러한 권한을 부여하는 것이 좋습니다.Therefore, we recommend that you only grant these permissions to users who are authorized to view sensitive information, such as members of the db_owner fixed database role, or members of the sysadmin fixed server role. 또한 실행 계획 파일을 저장하거나 실행 계획 관련 이벤트가 포함된 파일을 추적할 때는 NTFS 파일 시스템이 적용된 위치만 사용하고 중요한 정보를 볼 지위에 있는 사용자에게만 해당 위치에 대한 액세스 권한을 부여하는 것이 좋습니다.Additionally, we recommend that you only save Showplan files or trace files that contain Showplan-related events to a location that uses the NTFS file system, and that you restrict access to users who are authorized to view sensitive information.

추적 재생에 사용되는 권한Permissions Used to Replay Traces

추적을 재생할 때도 추적을 재생하는 사용자에게 ALTER TRACE 권한이 있어야 합니다.Replaying traces also requires that the user who is replaying the trace have the ALTER TRACE permission.

그러나 추적을 재생하는 동안 재생 중인 추적에 로그인 감사 이벤트가 발생하는 경우 SQL Server 프로파일러SQL Server Profiler 에서 EXECUTE AS 명령을 사용합니다.However, during replay, SQL Server 프로파일러SQL Server Profiler uses the EXECUTE AS command if an Audit Login event is encountered in the trace that is being replayed. SQL Server 프로파일러SQL Server Profiler 에서는 EXECUTE AS 명령을 사용하여 로그인 이벤트와 연관된 사용자를 가장합니다. uses the EXECUTE AS command to impersonate the user who is associated with the login event.

SQL Server 프로파일러SQL Server Profiler 에서 재생 중인 추적에 로그인 이벤트가 발생하는 경우 다음 권한 검사가 수행됩니다.If SQL Server 프로파일러SQL Server Profiler encounters a login event in a trace that is being replayed, the following permission checks are performed:

  1. 사용자1(ALTER TRACE 권한 보유)이 추적 재생을 시작합니다.User1, who has the ALTER TRACE permission, starts replaying a trace.

  2. 사용자2에 대한 로그인 이벤트가 재생된 추적에서 발생합니다.A login event for User2 is encountered in the replayed trace.

  3. SQL Server 프로파일러SQL Server Profiler 에서 EXECUTE AS 명령을 사용하여 사용자2를 가장합니다. uses the EXECUTE AS command to impersonate User2.

  4. SQL ServerSQL Server 에서 사용자2에 대한 인증을 시도하고 그 결과에 따라 다음 중 하나가 발생합니다. attempts to authenticate User2, and depending on the results, one of the following occurs:

    1. 사용자2가 인증 받지 못한 경우 SQL Server 프로파일러SQL Server Profiler 는 오류를 반환하고 사용자1로 추적 재생을 계속합니다.If User2 cannot be authenticated, SQL Server 프로파일러SQL Server Profiler returns an error, and continues replaying the trace as User1.

    2. 사용자2가 성공적으로 인증 받은 경우 사용자2로 추적 재생을 계속합니다.If User2 is successfully authenticated, replaying the trace as User2 continues.

  5. 대상 데이터베이스에 대해 사용자2에 대한 권한을 검사하고 그 결과에 따라 다음 중 하나가 발생합니다.Permissions for User2 are checked on the target database, and depending on the results, one of the following occurs:

    1. 사용자2가 대상 데이터베이스에 권한을 갖는 경우 가장이 성공적으로 수행되고 추적은 사용자2로 재생됩니다.If User2 has permissions on the target database, impersonation has succeeded, and the trace is replayed as User2.

    2. 사용자2가 대상 데이터베이스에 권한을 갖지 않는 경우 서버에서 해당 데이터베이스의 게스트 사용자에 대해 검사합니다.If User2 does not have permissions on the target database, the server checks for a Guest user on that database.

  6. 대상 데이터베이스에 대해 게스트 사용자의 존재를 검사하고 그 결과에 따라 다음 중 하나가 발생합니다.Existence of a Guest user is checked on the target database, and depending on the results, one of the following occurs:

    1. 게스트 계정이 있으면 추적이 게스트 계정으로 재생됩니다.If a Guest account exists, the trace is replayed as the Guest account.

    2. 대상 데이터베이스에 게스트 계정이 없으면 오류가 반환되고 추적이 사용자1로 재생됩니다.If no Guest account exists on the target database, an error is returned and the trace is replayed as User1.

    다음 다이어그램은 추적 재생 시 이러한 권한의 검사 프로세스를 보여 줍니다.The following diagram shows this process of checking permission when replaying traces:

    SQL Server Profiler 추적 재생 권한SQL Server Profiler replay trace permissions

관련 항목:See Also

SQL Server Profiler 저장 프로시저(Transact-SQL) SQL Server Profiler Stored Procedures (Transact-SQL)
추적 재생 Replay Traces
추적 만들기(SQL Server Profiler) Create a Trace (SQL Server Profiler)
추적 테이블 재생(SQL Server Profiler) Replay a Trace Table (SQL Server Profiler)
추적 파일 재생(SQL Server Profiler)Replay a Trace File (SQL Server Profiler)