다음을 통해 공유


SQL Server Profiler 실행에 필요한 권한

적용 대상: SQL Server Azure SQL Managed Instance

기본적으로 SQL Server Profiler를 실행하려면 추적 작성에 사용된 Transact-SQL 저장 프로시저와 동일한 사용자 권한이 있어야 합니다. SQL Server Profiler를 실행하려면 사용자에게 ALTER TRACE 권한이 있어야 합니다. 자세한 내용은 GRANT 서버 사용 권한 (Transact-SQL)을 참조하세요.

Important

SQL Trace 및 기타 수단으로 캡처한 쿼리 계획과 쿼리 텍스트(예: 동적 관리 뷰 및 함수(DMV, DMF) 및 확장 이벤트)에는 민감한 정보가 포함될 수 있습니다. 따라서 ALTER TRACE, SHOWPLAN 권한 및 VIEW SERVER STATE 적용 권한은 최소 권한 원칙에 따라 직무 기능을 수행하는 데 필요한 사람에게만 부여되어야 합니다.

또한 실행 계획 파일을 저장하거나 실행 계획 관련 이벤트가 포함된 파일을 추적할 때는 NTFS 파일 시스템이 적용된 위치만 사용하고, 민감할 수 있는 정보를 볼 지위에 있는 사용자에게만 해당 위치에 대한 액세스 권한을 부여하는 것이 좋습니다.

Important

SQL 추적 및 SQL Server Profiler는 사용되지 않습니다. Microsoft SQL Server 추적 및 재생 개체를 포함한 Microsoft.SqlServer.Management.Trace 네임 스페이스도 사용되지 않습니다.

SQL Server의 이후 버전에서는 이 기능이 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 애플리케이션은 수정하세요.

대신 확장 이벤트를 사용합니다. 확장 이벤트에 대한 자세한 내용은 빠른 시작: SQL Server의 확장 이벤트SSMS XEvent Profiler를 참조하세요.

참고 항목

Analysis Services 워크로드에 대한 SQL Server Profiler는 지원됩니다.

참고 항목

SQL Server Profiler에서 Azure SQL 데이터베이스에 연결하려고 하면 다음과 같은 오류 메시지가 잘못 생성됩니다.

  • SQL Server에 대해 추적을 실행하려면 sysadmin 고정 서버 역할의 멤버이거나 ALTER TRACE 권한이 있어야 합니다.

메시지는 SQL Server Profiler에서 Azure SQL 데이터베이스를 지원하지 않는다고 설명해야 합니다.

추적을 재생하는 데 사용되는 권한

추적을 재생할 때도 추적을 재생하는 사용자에게 ALTER TRACE 권한이 있어야 합니다.

그러나 추적을 재생하는 동안 재생 중인 추적에 로그인 감사 이벤트가 발생하는 경우 SQL Server Profiler가 EXECUTE AS 명령을 사용합니다. SQL Server Profiler는 EXECUTE AS 명령을 사용하여 로그인 이벤트와 연관된 사용자를 가장합니다.

SQL Server Profiler에서 재생 중인 추적에 로그인 이벤트가 발생하는 경우 다음 권한 검사가 수행됩니다:

  1. ALTER TRACE 권한이 있는 사용자1은 추적 재생을 시작합니다.

  2. 사용자2에 대한 로그인 이벤트가 재생된 추적에서 발생합니다.

  3. SQL Server Profiler는 EXECUTE AS 명령을 사용하여 사용자2를 가장합니다.

  4. SQL Server는 사용자2에 대한 인증을 시도하고 그 결과에 따라 다음 중 하나가 발생합니다:

    1. 사용자2가 인증 받지 못한 경우 SQL Server는 오류를 반환하고 사용자1로 추적 재생을 계속합니다.

    2. 사용자2가 성공적으로 인증되면 사용자2로 추적을 재생합니다.

  5. 대상 데이터베이스에 대해 사용자2에 대한 권한을 검사하고 그 결과에 따라 다음 중 하나가 발생합니다:

    1. 사용자2에 대상 데이터베이스에 대한 권한이 있는 경우 가장이 성공하고 추적이 사용자2로 재생됩니다.

    2. 사용자2에 대상 데이터베이스에 대한 권한이 없는 경우 서버는 해당 데이터베이스에 대한 게스트 사용자를 확인합니다.

  6. 대상 데이터베이스에 대해 게스트 사용자의 존재를 검사하고 그 결과에 따라 다음 중 하나가 발생합니다:

    1. 게스트 계정이 있는 경우 추적이 게스트 계정으로 재생됩니다.

    2. 대상 데이터베이스에 게스트 계정이 없으면 오류가 반환되고 추적이 사용자1로 재생됩니다.

다음 다이어그램은 추적 재생 시 이러한 권한의 검사 프로세스를 보여 줍니다:

SQL Server Profiler 추적 재생 권한

참고 항목