sys.dm_os_memory_nodes(Transact-SQL)

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

SQL Server 내부 할당은 SQL Server 메모리 관리자를 사용합니다. sys.dm_os_process_memory 프로세스 메모리 카운터와 내부 카운터 간의 차이를 추적하면 SQL Server 메모리 공간의 외부 구성 요소에서 메모리 사용을 나타낼 수 있습니다.

노드는 물리적 NUMA 메모리 노드별로 생성됩니다. sys.dm_os_nodes CPU 노드와 다를 수 있습니다.

Windows 메모리 할당 루틴을 통해 직접 수행되는 할당은 추적되지 않습니다. 다음 표에서는 SQL Server 메모리 관리자 인터페이스를 사용하여 수행되는 메모리 할당에 대한 정보를 제공합니다.

참고 항목

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

열 이름 데이터 형식 설명
memory_node_id smallint 메모리 노드의 ID를 지정합니다. sys.dm_os_memory_clerks memory_node_id관련. Null을 허용하지 않습니다.
virtual_address_space_reserved_kb bigint 커밋되거나 실제 페이지에 매핑되지 않는 가상 주소 예약 수를 KB(킬로바이트)로 나타냅니다. Null을 허용하지 않습니다.
virtual_address_space_committed_kb bigint 커밋되거나 실제 페이지에 매핑된 가상 주소의 양(KB)을 지정합니다. Null을 허용하지 않습니다.
locked_page_allocations_kb bigint SQL Server에서 잠근 실제 메모리의 양(KB)을 지정합니다. Null을 허용하지 않습니다.
single_pages_kb bigint 적용 대상: SQL Server 2008(10.0.x) ~ SQL Server 2008 R2(10.50.x).

이 노드에서 실행 중인 스레드별로 단일 페이지 할당자를 사용하여 할당된 커밋된 메모리 크기(KB)입니다. 이 메모리는 버퍼 풀에서 할당됩니다. 이 값은 할당 요청이 충족된 물리적 위치가 아닌 할당 요청이 발생한 지점의 노드를 나타냅니다.
pages_kb bigint 적용 대상: SQL Server 2012(11.x) 이상

Memory Manager 페이지 할당자에 의해 이 NUMA 노드에서 할당되는 커밋된 메모리 크기(KB)를 지정합니다. Null을 허용하지 않습니다.
multi_pages_kb bigint 적용 대상: SQL Server 2008(10.0.x) ~ SQL Server 2008 R2(10.50.x).

이 노드에서 실행되는 스레드에 의해 다중 페이지 할당자를 사용하여 할당되는 커밋된 메모리 양(KB)입니다. 이 메모리는 버퍼 풀 외부에서 가져옵니다. 이 값은 할당 요청이 충족된 실제 위치가 아니라 할당 요청이 발생한 노드를 나타냅니다.
shared_memory_reserved_kb bigint 이 노드에서 예약된 공유 메모리의 양(KB)을 지정합니다. Null을 허용하지 않습니다.
shared_memory_committed_kb bigint 이 노드에서 커밋된 공유 메모리의 양(KB)을 지정합니다. Null을 허용하지 않습니다.
cpu_affinity_mask bigint 적용 대상: SQL Server 2012(11.x) 이상

내부용으로만 사용됩니다. Null을 허용하지 않습니다.
online_scheduler_mask bigint 적용 대상: SQL Server 2012(11.x) 이상

내부용으로만 사용됩니다. Null을 허용하지 않습니다.
processor_group smallint 적용 대상: SQL Server 2012(11.x) 이상

내부용으로만 사용됩니다. Null을 허용하지 않습니다.
foreign_committed_kb bigint 적용 대상: SQL Server 2012(11.x) 이상

다른 메모리 노드의 커밋된 메모리 양(KB)을 지정합니다. Null을 허용하지 않습니다.
target_kb bigint 적용 대상: SQL Server 2016(13.x) 이상, SQL Database.

메모리 노드의 메모리 목표를 KB로 지정합니다.
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 운영 체제 관련 동적 관리 뷰(Transact-SQL)