다음을 통해 공유


SQL Server Profiler를 실행하는 데 필요한 권한

적용 대상:SQL ServerAzure SQL Managed Instance

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

참고 항목

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

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

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

비고

  • 쿼리 계획 및 쿼리 텍스트는 SQL 추적뿐만 아니라 DMV(동적 관리 뷰), DMF(동적 관리 함수) 및 확장 이벤트와 같은 다른 수단을 통해 캡처할 수 있으며 중요한 정보를 포함할 수 있습니다. 따라서 최소 권한 원칙에 따라 작업 기능을 수행하기 위해 이러한 권한이 필요한 사용자에게만 사용 ALTER TRACESHOWPLAN권한 및 포함 권한을 VIEW SERVER STATE 부여해야 합니다.

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

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

  • SQL Server Profiler에서 Azure SQL Database에 연결하려고 하면 오해를 불러일으키는 오류 메시지가 발생합니다.

    In order to run a trace against SQL Server, you must be a member of **sysadmin** fixed server role or have the ALTER TRACE permission.
    

    메시지는 Azure SQL Database가 SQL Server Profiler에서 지원되지 않는다는 것을 명시해야 합니다.

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

추적을 재생하려면, 추적을 재생하려는 사용자가 ALTER TRACE 권한을 가지고 있어야 합니다.

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

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

  1. User1ALTER TRACE 권한을 가지고 추적 재생을 시작합니다.

  2. 재생된 추적에서 User2 로그인 이벤트가 발생했습니다.

  3. SQL Server Profiler는 EXECUTE AS을(를) 가장하기 위해 User2 명령을 사용합니다.

  4. SQL Server는 인증 User2을 시도하며 결과에 따라 다음 중 하나가 발생합니다.

    1. 인증할 수 없는 경우 User2 SQL Server Profiler는 오류를 반환하고 추적 User1을 계속 재생합니다.

    2. User2가 성공적으로 인증된 경우 User2로 추적을 계속 재생합니다.

  5. 대상 데이터베이스에 대한 User2 사용 권한을 확인하고 결과에 따라 다음 시나리오 중 하나가 발생합니다.

    1. 대상 데이터베이스에 대한 User2의 사용 권한이 있는 경우, 가장하기가 성공하면 추적이 User2로 재생됩니다.

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

  6. Guest 대상 데이터베이스에서 사용자의 존재가 확인되고 결과에 따라 다음 중 하나가 발생합니다.

    1. Guest 계정이 존재하는 경우, 추적은 Guest 계정으로 재생됩니다.

    2. Guest 계정이 없으면 대상 데이터베이스에서 오류가 반환되며 추적이 User1로 재생됩니다.

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

SQL Server Profiler 재생 추적 권한의 스크린샷.