적용 대상:SQL Server
Azure 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 TRACE
SHOWPLAN
권한 및 포함 권한을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에서 재생 중인 추적에 로그인 이벤트가 발생하는 경우 다음 권한 검사가 수행됩니다:
User1
는ALTER TRACE
권한을 가지고 추적 재생을 시작합니다.재생된 추적에서
User2
로그인 이벤트가 발생했습니다.SQL Server Profiler는
EXECUTE AS
을(를) 가장하기 위해User2
명령을 사용합니다.SQL Server는 인증
User2
을 시도하며 결과에 따라 다음 중 하나가 발생합니다.인증할 수 없는 경우
User2
SQL Server Profiler는 오류를 반환하고 추적User1
을 계속 재생합니다.User2
가 성공적으로 인증된 경우User2
로 추적을 계속 재생합니다.
대상 데이터베이스에 대한
User2
사용 권한을 확인하고 결과에 따라 다음 시나리오 중 하나가 발생합니다.대상 데이터베이스에 대한
User2
의 사용 권한이 있는 경우, 가장하기가 성공하면 추적이User2
로 재생됩니다.대상 데이터베이스에 대한 권한이 없는 경우
User2
서버는 해당 데이터베이스에 대한Guest
사용자를 확인합니다.
Guest
대상 데이터베이스에서 사용자의 존재가 확인되고 결과에 따라 다음 중 하나가 발생합니다.Guest
계정이 존재하는 경우, 추적은Guest
계정으로 재생됩니다.Guest
계정이 없으면 대상 데이터베이스에서 오류가 반환되며 추적이User1
로 재생됩니다.
다음 다이어그램은 추적 재생 시 이러한 권한의 검사 프로세스를 보여 줍니다: