적용 대상:✅ Microsoft Fabric의 SQL 분석 엔드포인트 및 웨어하우스
기존 DMV(동적 관리 뷰)를 사용하여 Microsoft Fabric 연결, 세션 및 요청 상태를 모니터링합니다. T-SQL 쿼리를 실행하는 도구 및 방법에 대한 자세한 내용은 웨어하우스 쿼리를 참조하세요.
이 자습서에서는 DMV(동적 관리 뷰)를 사용하여 실행 중인 SQL 쿼리를 모니터링하는 방법을 알아봅니다.
쿼리 수명 주기 DMV를 사용하여 연결, 세션 및 요청을 모니터링하는 방법
세 개의 DMV는 라이브 SQL 쿼리 수명 주기 인사이트를 제공합니다.
- sys.dm_exec_connections 웨어하우스와 엔진 간에 설정된 각 연결에 대한 정보를 반환합니다.
- sys.dm_exec_sessions 항목과 엔진 간에 인증된 각 세션에 대한 정보를 반환합니다.
- sys.dm_exec_requests 세션의 각 활성 요청에 대한 정보를 반환합니다.
이러한 DMV를 함께 사용하면 다음과 같은 질문에 답변할 수 있습니다.
- 세션을 실행하는 사람은 누구인가요?
- 세션은 언제 시작되나요?
- 웨어하우스에 대한 연결의 ID와 요청을 실행하는 세션의 ID는 무엇인가요?
- 얼마나 많은 쿼리가 적극적으로 실행되고 있나요?
- 장기 실행 중인 쿼리는 무엇인가요?
사전 요구 사항
- 활성 Fabric 용량이 있는 작업 영역입니다.
- 기존 웨어하우스 또는 SQL 분석 엔드포인트입니다.
- SQL 쿼리 편집기 또는 SSMS(SQL Server Management Studio)와 같은 T-SQL 쿼리 도구입니다.
- DMV를 쿼리하고 세션을 관리할 수 있는 권한입니다.
DMV를 쿼리하고 세션을 관리하는 데 필요한 권한
- 작업 영역 관리자는 세 개의 DMV(
sys.dm_exec_connectionssys.dm_exec_sessions및sys.dm_exec_requests)를 모두 실행하고 작업 영역 내의 모든 사용자에 대한 세션, 연결 및 요청 정보를 볼 수 있습니다. - 작업 영역 멤버, 기여자 또는 뷰어는
sys.dm_exec_sessions및sys.dm_exec_requests을 실행할 수 있으며, 웨어하우스 내에서 자신의 세션과 요청만 볼 수 있습니다. 이러한 역할은 실행할sys.dm_exec_connections수 없습니다. - 작업 영역 관리자 만 이 명령을 실행
KILL하여 세션을 중지할 수 있습니다.
웨어하우스 연결 및 세션 찾기
웨어하우스에 대한 각 연결의 세션을 보려면 sys.dm_exec_connections와 sys.dm_exec_sessions를 조인합니다:
SELECT connections.connection_id,
connections.connect_time,
sessions.session_id, sessions.login_name, sessions.login_time, sessions.status
FROM sys.dm_exec_connections AS connections
INNER JOIN sys.dm_exec_sessions AS sessions
ON connections.session_id = sessions.session_id;
오랫동안 실행 중인 쿼리 식별하고 KILL하기
다음 단계를 사용하여 웨어하우스에서 장기 실행 쿼리를 찾고, 시작한 사용자를 식별하고, 원하는 경우 실행 중인 세션을 중지합니다.
활성 웨어하우스 요청을 나열합니다. 각 요청이 도착한 이후 실행된 시간 순으로 정렬됩니다.
SELECT request_id, session_id, start_time, total_elapsed_time FROM sys.dm_exec_requests WHERE status = 'running' ORDER BY total_elapsed_time DESC;장기 실행 쿼리가 포함된 세션을 시작한 사용자를 찾습니다.
<session_id>을 이전 단계의session_id값으로 바꾸세요:SELECT login_name FROM sys.dm_exec_sessions WHERE session_id = <session_id>;필요한 경우
session_id와 함께KILL명령을 실행하여 세션을 취소하고 롤백합니다:KILL <session_id>;예를 들어 세션을 중지하려면 다음을 수행합니다.
101KILL 101;
쿼리 차단을 진단하고 해결하는 단계별 가이드는 Fabric Data Warehouse 쿼리 차단 문제 해결을 참조하세요.