sys.dm_os_hosts(Transact-SQL)

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System(PDW)

SQL Server 인스턴스에 현재 등록된 모든 호스트를 반환합니다. 이 보기는 이러한 호스트에서 사용하는 리소스도 반환합니다.

참고 항목

Azure Synapse Analytics 또는 PDW(Analytics Platform System)에서 이를 호출하려면 이름 sys.dm_pdw_nodes_os_hosts 사용합니다. 이 구문은 Azure Synapse Analytics의 서버리스 SQL 풀에서 지원되지 않습니다.

열 이름 데이터 형식 설명
host_address varbinary(8) 호스트 개체의 내부 메모리 주소입니다.
type nvarchar(60) 호스트된 구성 요소의 유형입니다. 예를 들면 다음과 같습니다.

SOSHOST_CLIENTID_SERVERSNI= SQL Server 네이티브 인터페이스

SOSHOST_CLIENTID_SQLOLEDB = SQL Server Native Client OLE DB 공급자

SOSHOST_CLIENTID_MSDART = Microsoft Data Access 런타임
이름 nvarchar(32) 호스트의 이름입니다.
enqueued_tasks_count int 이 호스트가 SQL Server의 큐에 배치한 총 작업 수입니다.
active_tasks_count int 이 호스트가 큐에 배치한 현재 실행 중인 태스크의 수입니다.
completed_ios_count int 이 호스트를 통해 발급되고 완료된 총 I/O 수입니다.
completed_ios_in_bytes bigint 이 호스트를 통해 완료된 I/O의 총 바이트 수입니다.
active_ios_count int 현재 완료 대기 중인 이 호스트와 관련된 총 I/O 요청 수입니다.
default_memory_clerk_address varbinary(8) 이 호스트와 연결된 메모리 클럭 개체의 메모리 주소입니다. 자세한 내용은 sys.dm_os_memory_clerks(Transact-SQL)를 참조 하세요.
pdw_node_id int 적용 대상: Azure Synapse Analytics, Analytics Platform System(PDW)

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

사용 권한

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

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

SQL Server 2022 이상에 대한 권한

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

설명

SQL Server를 사용하면 SQL Server 실행 파일의 일부가 아닌 OLE DB 공급자와 같은 구성 요소가 메모리를 할당하고 선점되지 않는 일정 예약에 참여할 수 있습니다. 이러한 구성 요소는 SQL Server에서 호스트되며 이러한 구성 요소에 의해 할당된 모든 리소스가 추적됩니다. 호스팅을 사용하면 SQL Server가 SQL Server 실행 파일 외부의 구성 요소에서 사용하는 리소스를 더 잘 설명할 수 있습니다.

관계 카디널리

보낸 사람 수행할 작업 관계
sys.dm_os_hosts. default_memory_clerk_address sys.dm_os_memory_clerks. memory_clerk_address 일대일
sys.dm_os_hosts. host_address sys.dm_os_memory_clerks. host_address 일대일

예제

다음 예에서는 호스팅된 구성 요소에서 커밋된 총 메모리 양을 확인합니다.

적용 대상: SQL Server 2012(11.x) 이상
SELECT h.type, SUM(mc.pages_kb) AS commited_memory  
FROM sys.dm_os_memory_clerks AS mc   
INNER JOIN sys.dm_os_hosts AS h   
    ON mc.memory_clerk_address = h.default_memory_clerk_address  
GROUP BY h.type;  

참고 항목

sys.dm_os_memory_clerks(Transact-SQL)
SQL Server 운영 체제 관련 동적 관리 뷰(Transact-SQL)