적용 대상:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Microsoft Fabric의 SQL 데이터베이스
SQL Server 내부 할당은 SQL Server 메모리 관리자를 사용합니다. sys.dm_os_process_memory 프로세스 메모리 카운터와 내부 카운터 간의 차이를 추적하면 SQL Server 메모리 공간의 외부 구성 요소에서 메모리 사용을 나타낼 수 있습니다.
노드는 물리적 NUMA 메모리 노드별로 생성됩니다. sys.dm_os_nodes CPU 노드와 다를 수 있습니다.
Windows 메모리 할당 루틴을 통해 직접 수행되는 할당은 추적되지 않습니다. 다음 표에서는 SQL Server 메모리 관리자 인터페이스를 사용하여 수행되는 메모리 할당에 대한 정보를 제공합니다.
메모
Azure Synapse Analytics에서 부르려면 sys.dm_pdw_nodes_os_memory_nodes라는 이름을 사용하세요. 이 구문은 Azure Synapse Analytics의 서버리스 SQL 풀에서 지원되지 않습니다.
| 열 이름 | 데이터 형식 | Description |
|---|---|---|
| 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 이 배포가 있는 노드의 식별자입니다. |
Permissions
SQL Server 및 SQL Managed Instance에서 VIEW SERVER STATE 권한이 필요합니다.
SQL Database Basic, S0및 S1 서비스 목표 및 탄력적 풀데이터베이스, 서버 관리자 계정, Microsoft Entra 관리자 계정 또는 ##MS_ServerStateReader##서버 역할 멤버 자격이 필요합니다. 다른 모든 SQL Database 서비스 목표에서 데이터베이스에 대한 VIEW DATABASE STATE 권한 또는 ##MS_ServerStateReader## 서버 역할의 멤버 자격이 필요합니다.
SQL Server 2022 이상에 대한 권한
서버에 대한 SERVER PERFORMANCE STATE 권한이 필요합니다 VIEW .