sys.dm_exec_connections(Transact-SQL)

적용 대상: Microsoft Fabric의 Microsoft FabricWarehouse에 있는 SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSQL 분석 엔드포인트

데이터베이스 엔진의 이 인스턴스에 설정된 연결에 대한 정보와 각 연결의 세부 정보를 반환합니다. SQL Server 및 Azure SQL Managed Instance에 대한 서버 전체 연결 정보를 반환합니다. Azure SQL Database의 현재 데이터베이스에 대한 연결 정보를 반환합니다. Azure SQL Database의 탄력적 풀에 있는 데이터베이스에 대해 동일한 탄력적 풀에 있는 모든 데이터베이스에 대한 연결 정보를 반환합니다 .

참고 항목

Azure Synapse Analytics 또는 PDW(Analytics Platform System)의 전용 SQL 풀에서 이를 호출하려면 sys.dm_pdw_exec_connections(Transact-SQL)를 참조하세요. 서버리스 SQL 풀 또는 Microsoft Fabric의 sys.dm_exec_connections경우 .

열 이름 데이터 형식 설명
session_id int 이 연결과 연관된 세션을 식별합니다. Null을 허용합니다.
most_recent_session_id int 이 연결과 연관된 가장 최근 요청의 세션 ID를 나타냅니다. (SOAP 연결은 다른 세션에서 다시 사용할 수 있습니다.) null 허용입니다.
connect_time 날짜/시간 연결이 설정된 타임스탬프입니다. Null을 허용하지 않습니다.
net_transport nvarchar(40) MARS를 사용하는 경우 MARS 논리 세션과 연결된 각 추가 연결에 대한 세션을 반환합니다.

참고: 이 연결에서 사용되는 물리적 전송 프로토콜에 대해 설명합니다. Null을 허용하지 않습니다.
protocol_type nvarchar(40) 페이로드의 프로토콜 유형을 지정합니다. 현재 TDS("TSQL"), "SOAP" 및 "데이터베이스 미러링"을 구분합니다. Null을 허용합니다.
protocol_version int 이 연결과 연결된 데이터 액세스 프로토콜의 버전입니다. Null을 허용합니다.
endpoint_id int 연결 유형을 설명하는 식별자입니다. 뷰 endpoint_id 를 쿼리 sys.endpoints 하는 데 사용할 수 있습니다. Null을 허용합니다.
encrypt_option nvarchar(40) 이 연결에 대해 암호화가 설정되었는지 여부를 설명하는 부울 값입니다. Null을 허용하지 않습니다.
auth_scheme nvarchar(40) 이 연결에 사용되는 SQL Server/Windows 인증 체계를 지정합니다. Null을 허용하지 않습니다.
node_affinity smallint 이 연결에 선호도가 있는 메모리 노드를 식별합니다. Null을 허용하지 않습니다.
num_reads int 이 연결을 통해 발생한 바이트 읽기 수입니다. Null을 허용합니다.
num_writes int 이 연결을 통해 발생한 바이트 쓰기 수입니다. Null을 허용합니다.
last_read 날짜/시간 이 연결을 통해 마지막으로 읽은 타임스탬프입니다. Null을 허용합니다.
last_write 날짜/시간 이 연결을 통해 마지막 쓰기가 발생한 타임스탬프입니다. Null을 허용합니다.
net_packet_size int 정보 및 데이터 전송에 사용되는 네트워크 패킷 크기입니다. Null을 허용합니다.
client_net_address varchar(48) 이 서버에 연결하는 클라이언트의 호스트 주소입니다. Null을 허용합니다.
client_tcp_port int 이 연결과 연결된 클라이언트 컴퓨터의 포트 번호입니다. Null을 허용합니다.

Azure SQL Database에서 이 열은 항상 NULL을 반환합니다.
local_net_address varchar(48) 이 연결이 대상으로 하는 서버의 IP 주소를 나타냅니다. TCP 전송 공급자를 사용하는 연결에만 사용할 수 있습니다. Null을 허용합니다.

Azure SQL Database에서 이 열은 항상 NULL을 반환합니다.
local_tcp_port int TCP 전송을 사용하는 연결인 경우 이 연결이 대상으로 지정한 서버 TCP 포트를 나타냅니다. Null을 허용합니다.

Azure SQL Database에서 이 열은 항상 NULL을 반환합니다.
connection_id uniqueidentifier 각 연결을 고유하게 식별합니다. Null을 허용하지 않습니다.
parent_connection_id uniqueidentifier MARS 세션에서 사용하는 기본 연결을 식별합니다. Null을 허용합니다.
most_recent_sql_handle varbinary(64) 이 연결에서 실행된 마지막 요청의 SQL 핸들입니다. 열은 most_recent_sql_handle 항상 열과 동기화됩니다 most_recent_session_id . Null을 허용합니다.
pdw_node_id int 적용 대상: Azure Synapse Analytics, Analytics Platform System(PDW)

이 배포가 있는 노드의 식별자입니다.

사용 권한

SQL Server 및 SQL Managed Instance에서는 VIEW SERVER STATE 권한이 필요합니다.

Azure SQL Database Basic, S0S1 서비스 목표 및 탄력적 풀의 데이터베이스에는 서버 관리자 계정, Microsoft Entra 관리자 계정 또는 서버 역할##MS_ServerStateReader##멤버 자격이 필요합니다. 다른 모든 SQL Database 서비스 목표에 대해서는 데이터베이스에 대한 VIEW DATABASE STATE 권한 또는 ##MS_ServerStateReader## 서버 역할의 멤버 자격이 필요합니다.

SQL Server 2022 이상에 대한 권한

서버에 대한 VIEW SERVER PERFORMANCE STATE 권한이 필요합니다.

물리적 조인

Diagram of physical joins for sys.dm_exec_connections.

관계 카드

첫 번째 요소 두 번째 요소 관계
sys.dm_exec_sessions.session_id sys.dm_exec_connections.session_id 일 대 0 또는 일 대 다
sys.dm_exec_requests.connection_id sys.dm_exec_connections.connection_id 다 대 일
sys.dm_broker_connections.connection_id sys.dm_exec_connections.connection_id 일 대 일

가장 일반적으로 각 행에 sys.dm_exec_connections 대해 일치하는 단일 행이 있습니다 sys.dm_exec_sessions. 그러나 시스템 내부 세션 또는 Service Broker 활성화 프로시저와 같은 경우에 일치하는 행이 없는 행 sys.dm_exec_sessionssys.dm_exec_connections이 있을 수 있습니다.

MARS를 사용하는 경우 한 행에 대해 여러 행 sys.dm_exec_connections , 부모 연결의 sys.dm_exec_sessions행 1개, MARS 논리 세션마다 한 행이 있을 수 있습니다. 세션으로 설정되는 열의 값으로 후자의 행을 net_transport 식별할 수 있습니다. 이러한 연결의 경우 열의 sys.dm_exec_connectionsconnection_id 은 진행 중인 MARS 요청에 대한 열의 sys.dm_exec_requestsconnection_id 과 일치합니다.

예제

다음 Transact-SQL 쿼리는 쿼리의 자체 연결에 대한 정보를 수집합니다.

SELECT   
    c.session_id, c.net_transport, c.encrypt_option,   
    c.auth_scheme, s.host_name, s.program_name,   
    s.client_interface_name, s.login_name, s.nt_domain,   
    s.nt_user_name, s.original_login_name, c.connect_time,   
    s.login_time   
FROM sys.dm_exec_connections AS c  
JOIN sys.dm_exec_sessions AS s  
    ON c.session_id = s.session_id  
WHERE c.session_id = @@SPID;  

다음 단계

다음 문서에서 관련 개념에 대해 자세히 알아보세요.