sys.dm_os_sys_info(Transact-SQL)

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System(PDW)

컴퓨터에 대한 유용한 정보와 SQL Server에서 사용 가능하고 사용하는 리소스에 대한 기타 정보 집합을 반환합니다.

참고 항목

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

열 이름 데이터 형식 설명 및 버전별 참고 사항
cpu_ticks bigint 현재 CPU 검사 수를 지정합니다. CPU 틱은 프로세서의 RDTSC 카운터에서 가져옵니다. 그것은 단조롭게 증가하는 숫자입니다. Null을 허용하지 않습니다.
ms_ticks bigint 컴퓨터가 시작된 이후의 시간(밀리초)을 지정합니다. Null을 허용하지 않습니다.
cpu_count int 시스템의 논리 CPU 수를 지정합니다. Null을 허용하지 않습니다.

Azure SQL Database에서 이 열은 데이터베이스 또는 탄력적 풀을 호스팅하는 컴퓨터의 논리 CPU 수를 반환할 수 있습니다. 데이터베이스 또는 탄력적 풀에 사용할 수 있는 논리 CPU 수를 확인하려면 sys.dm_user_db_resource_governance 열을 사용합니다cpu_limit.
hyperthread_ratio int 하나의 물리적 프로세서 패키지에서 노출하는 논리적 또는 물리적 코어 수의 비율을 지정합니다. Null을 허용하지 않습니다.
physical_memory_in_bytes bigint 적용 대상: SQL Server 2008(10.0.x) 및 SQL Server 2008 R2(10.50.x).

컴퓨터에 있는 실제 메모리의 전체 크기를 지정합니다. Null을 허용하지 않습니다.
physical_memory_kb bigint 적용 대상: SQL Server 2012(11.x) 이상 버전.

컴퓨터에 있는 실제 메모리의 전체 크기를 지정합니다. Null을 허용하지 않습니다.

Azure SQL Database에서 이 열은 데이터베이스 또는 탄력적 풀을 호스팅하는 컴퓨터의 총 실제 메모리 양을 반환합니다. 데이터베이스 또는 탄력적 풀에 사용할 수 있는 실제 메모리의 양을 확인하려면 sys.dm_os_job_object 열을 사용합니다process_memory_limit_mb.
virtual_memory_in_bytes bigint 적용 대상: SQL Server 2008(10.0.x) 및 SQL Server 2008 R2(10.50.x).

사용자 모드에서 프로세스에 사용할 수 있는 가상 메모리의 양입니다. 이 값을 사용하여 SQL Server가 3GB 스위치를 사용하여 시작되었는지 여부를 확인할 수 있습니다.
virtual_memory_kb bigint 적용 대상: SQL Server 2012(11.x) 이상 버전.

사용자 모드에서 프로세스에 사용할 수 있는 총 가상 주소 공간을 지정합니다. Null을 허용하지 않습니다.
bpool_committed int 적용 대상: SQL Server 2008(10.0.x) 및 SQL Server 2008 R2(10.50.x).

메모리 관리자의 커밋된 메모리(KB)를 나타냅니다. 메모리 관리자에 예약된 메모리를 포함하지 않습니다. Null을 허용하지 않습니다.
committed_kb bigint 적용 대상: SQL Server 2012(11.x) 이상 버전.

메모리 관리자의 커밋된 메모리(KB)를 나타냅니다. 메모리 관리자에 예약된 메모리를 포함하지 않습니다. Null을 허용하지 않습니다.
bpool_commit_target int 적용 대상: SQL Server 2008(10.0.x) 및 SQL Server 2008 R2(10.50.x).

SQL Server 메모리 관리자가 사용할 수 있는 메모리 양(KB)을 나타냅니다.
committed_target_kb bigint 적용 대상: SQL Server 2012(11.x) 이상 버전.

SQL Server 메모리 관리자가 사용할 수 있는 메모리 양(KB)을 나타냅니다. 대상 크기는 다음과 같은 여러 입력을 사용하여 계산됩니다.

- 부하를 포함한 시스템의 현재 상태
- 현재 프로세스에서 요청한 메모리
- 컴퓨터에 설치된 메모리 양
- 구성 매개 변수

보다 committed_kb큰 경우 committed_target_kb 메모리 관리자가 더 많은 메모리를 가져오려고 합니다. 보다 committed_kb작으면 committed_target_kb 메모리 관리자가 커밋된 메모리 양을 축소하려고 합니다. 항상 committed_target_kb 도난당한 메모리와 예약된 메모리가 포함됩니다. Null을 허용하지 않습니다.
bpool_visible int 적용 대상: SQL Server 2008(10.0.x) 및 SQL Server 2008 R2(10.50.x).

프로세스 가상 주소 공간에서 직접 액세스할 수 있는 버퍼 풀의 8KB 버퍼 수입니다. AWE(Address Windowing Extensions)를 사용하지 않는 경우 버퍼 풀이 메모리 대상(bpool_committed = bpool_commit_target)을 가져올 때 값 bpool_visible 은 값과 bpool_committed같습니다. 32비트 버전의 SQL Server bpool_visible 에서 AWE를 사용하는 경우 버퍼 풀에서 할당된 실제 메모리에 액세스하는 데 사용되는 AWE 매핑 창의 크기를 나타냅니다. 이 매핑 창의 크기는 프로세스 주소 공간에 의해 바인딩되므로 표시되는 크기가 커밋된 양보다 작습니다. 이 값은 데이터베이스 페이지 이외의 용도로 메모리를 소비하는 내부 구성 요소에 의해 더욱 감소될 수 있습니다. 값 bpool_visible 이 너무 낮으면 메모리 부족 오류가 발생할 수 있습니다.
visible_target_kb bigint 적용 대상: SQL Server 2012(11.x) 이상 버전.

와 같습니다 committed_target_kb. Null을 허용하지 않습니다.
stack_size_in_bytes int SQL Server에서 만든 각 스레드에 대한 호출 스택의 크기를 지정합니다. Null을 허용하지 않습니다.
os_quantum bigint 밀리초 단위로 측정된 비선점 작업의 양자를 나타냅니다. 양자(초) = os_quantum /CPU 클록 속도. Null을 허용하지 않습니다.
os_error_mode int SQL Server 프로세스의 오류 모드를 지정합니다. Null을 허용하지 않습니다.
os_priority_class int SQL Server 프로세스의 우선 순위 클래스를 지정합니다. Nullable.

32 = 보통입니다. 오류 로그에 따르면 SQL Server는 정상 우선 순위 기준(7)에서 시작됩니다.
128 = 높음. 오류 로그에 따르면 SQL Server가 높은 우선 순위 기준(13)에서 실행되고 있습니다.

자세한 내용은 우선 순위 향상 구성(서버 구성 옵션)을 참조하세요.
max_workers_count int 만들 수 있는 최대 작업자 수를 나타냅니다. Null을 허용하지 않습니다.
scheduler_count int SQL Server 프로세스에 구성된 사용자 스케줄러 수를 나타냅니다. Null을 허용하지 않습니다.
scheduler_total_count int SQL Server의 총 스케줄러 수를 나타냅니다. Null을 허용하지 않습니다.
deadlock_monitor_serial_number int 현재 교착 상태 모니터 시퀀스의 ID를 지정합니다. Null을 허용하지 않습니다.
sqlserver_start_time_ms_ticks bigint SQL Server가 ms_tick 마지막으로 시작된 숫자를 나타냅니다. 현재 ms_ticks 열과 비교합니다. Null을 허용하지 않습니다.
sqlserver_start_time 날짜/시간 SQL Server가 마지막으로 시작된 로컬 시스템 날짜 및 시간을 지정합니다. Null을 허용하지 않습니다.

다른 많은 SQL Server DMV의 정보에는 마지막 데이터베이스 엔진 시작 이후의 작업만 포함됩니다. 이 열을 사용하여 마지막 SQL Server 데이터베이스 엔진 시작 시간을 찾습니다.
affinity_type int 적용 대상: SQL Server 2008 R2(10.50.x) 이상 버전.

현재 사용 중인 서버 CPU 프로세스 선호도의 유형을 지정합니다. Null을 허용하지 않습니다. 자세한 내용은 ALTER SERVER CONFIGURATION(Transact-SQL)을 참조 하세요.

1 = MANUAL
2 = AUTO
affinity_type_desc nvarchar(60) 적용 대상: SQL Server 2008 R2(10.50.x) 이상 버전.

열을 설명합니다 affinity_type . Null을 허용하지 않습니다.

MANUAL = 하나 이상의 CPU에 대해 선호도가 설정되었습니다.
AUTO = SQL Server는 CPU 간에 스레드를 자유롭게 이동할 수 있습니다.
process_kernel_time_ms bigint 적용 대상: SQL Server 2008 R2(10.50.x) 이상 버전.

커널 모드의 모든 SQL Server 스레드에서 소요된 총 시간(밀리초)입니다. 이 값은 서버의 모든 프로세서에 대한 시간을 포함하므로 단일 프로세서 클록보다 클 수 있습니다. Null을 허용하지 않습니다.
process_user_time_ms bigint 적용 대상: SQL Server 2008 R2(10.50.x) 이상 버전.

사용자 모드의 모든 SQL Server 스레드에서 소요된 총 시간(밀리초)입니다. 이 값은 서버의 모든 프로세서에 대한 시간을 포함하므로 단일 프로세서 클록보다 클 수 있습니다. Null을 허용하지 않습니다.
time_source int 적용 대상: SQL Server 2008 R2(10.50.x) 이상 버전.

SQL Server가 벽시계 시간을 검색하는 데 사용하는 API를 나타냅니다. Null을 허용하지 않습니다.

0 = QUERY_PERFORMANCE_COUNTER
1 = MULTIMEDIA_TIMER
time_source_desc nvarchar(60) 적용 대상: SQL Server 2008 R2(10.50.x) 이상 버전.

열을 설명합니다 time_source . Null을 허용하지 않습니다.

QUERY_PERFORMANCE_COUNTER= QueryPerformanceCounter API는 벽시계 시간을 검색합니다.
MULTIMEDIA_TIMER= 벽시계 시간을 검색하는 멀티미디어 타이머 API입니다.
virtual_machine_type int 적용 대상: SQL Server 2008 R2(10.50.x) 이상 버전.

SQL Server가 가상화된 환경에서 실행 중인지 여부를 나타냅니다. Null을 허용하지 않습니다.

0 = NONE
1 = HYPERVISOR
2 = OTHER
virtual_machine_type_desc nvarchar(60) 적용 대상: SQL Server 2008 R2(10.50.x) 이상 버전.

열을 설명합니다 virtual_machine_type . Null을 허용하지 않습니다.

NONE = SQL Server가 가상 머신 내에서 실행되고 있지 않습니다.
HYPERVISOR = SQL Server는 하이퍼바이저를 실행하는 OS(하드웨어 지원 가상화를 사용하는 호스트 OS)에서 호스트되는 가상 머신 내에서 실행되고 있습니다.
OTHER= SQL Server는 Microsoft Virtual PC와 같은 하드웨어 도우미 채택하지 않는 OS에서 호스트되는 가상 머신 내에서 실행됩니다.
softnuma_configuration int 적용 대상: SQL Server 2016(13.x) 이상 버전

NUMA 노드를 구성하는 방법을 지정합니다. Null을 허용하지 않습니다.

0 = OFF 하드웨어 기본값을 나타냅니다.
1 = 자동화된 soft-NUMA
2 = 레지스트리를 통한 수동 soft-NUMA
softnuma_configuration_desc nvarchar(60) 적용 대상: SQL Server 2016(13.x) 이상 버전

OFF = Soft-NUMA 기능이 꺼져 있습니다.
ON = SQL Server가 Soft-NUMA의 NUMA 노드 크기를 자동으로 결정합니다.
MANUAL = 수동으로 구성된 soft-NUMA
process_physical_affinity nvarchar(3072) 적용 대상: SQL Server 2017(14.x)부터

정보를 제공하기 위해서만 확인됩니다. 지원 안 됨 향후 호환성은 보장되지 않습니다.
sql_memory_model int 적용 대상: SQL Server 2012 (11.x) SP4, SQL Server 2016 (13.x) SP1 이상 버전.

SQL Server에서 메모리를 할당하는 데 사용하는 메모리 모델을 지정합니다. Null을 허용하지 않습니다.

1 = 기존 메모리 모델
2 = 메모리의 페이지 잠금
3 = 메모리의 큰 페이지
sql_memory_model_desc nvarchar(60) 적용 대상: SQL Server 2012 (11.x) SP4, SQL Server 2016 (13.x) SP1 이상 버전.

SQL Server에서 메모리를 할당하는 데 사용하는 메모리 모델을 지정합니다. Null을 허용하지 않습니다.

CONVENTIONAL = SQL Server는 기존 메모리 모델을 사용하여 메모리를 할당합니다. 이는 SQL Server 서비스 계정에 시작 시 메모리의 페이지 잠금 권한이 없는 경우 기본 데이터베이스 엔진 메모리 모델입니다.
LOCK_PAGES = SQL Server에서 메모리의 페이지 잠금을 사용하여 메모리를 할당합니다. SQL Server 서비스 계정에 SQL Server 시작 시 "메모리의 페이지 잠금" 권한이 있는 경우 기본 데이터베이스 엔진 메모리 관리자입니다.
LARGE_PAGES = SQL Server가 메모리의 큰 페이지를 사용하여 메모리를 할당합니다. SQL Server는 서버 시작 시 SQL Server 서비스 계정에 "메모리의 페이지 잠금" 권한이 있고 추적 플래그 834가 켜져 있는 경우에만 Enterprise 버전으로 메모리를 할당하기 위해 큰 페이지 할당자를 사용합니다.
pdw_node_id int 적용 대상: Azure Synapse Analytics, Analytics Platform System(PDW)

이 배포가 있는 노드의 식별자입니다.
socket_count int 적용 대상: SQL Server 2016(13.x) SP2 이상 버전.

시스템에서 사용할 수 있는 프로세서 소켓 수를 지정합니다.
cores_per_socket int 적용 대상: SQL Server 2016(13.x) SP2 이상 버전.

시스템에서 사용할 수 있는 소켓당 프로세서 수를 지정합니다.
numa_node_count int 적용 대상: SQL Server 2016(13.x) SP2 이상 버전.

시스템에서 사용할 수 있는 NUMA 노드 수를 지정합니다. 이 열에는 실제 NUMA 노드 및 소프트 NUMA 노드가 포함됩니다.
container_type int 적용 대상: SQL Server 2017(14.x) 이상 버전

내부에서 실행 중인 컨테이너 SQL Server의 유형을 지정합니다. Null을 허용하지 않습니다.

0 (기본값) = NONE
1 = LINUX CONTAINER
2 = WINDOWS SERVER CONTAINER
3 = HYPER-V CONTAINER
container_type_desc nvarchar(60) 적용 대상: SQL Server 2017(14.x) 이상 버전

열을 설명합니다 container_type . Null을 허용하지 않습니다.

NONE = SQL Server가 컨테이너에서 실행되고 있지 않습니다.
LINUX CONTAINER = SQL Server가 Linux 컨테이너에서 실행되고 있습니다.
WINDOWS SERVER CONTAINER = SQL Server가 Windows Server 컨테이너에서 실행되고 있습니다.
HYPER-V CONTAINER = SQL Server가 Hyper-V 컨테이너에서 실행되고 있습니다.

사용 권한

SQL Server 2019(15.x) 및 이전 버전 및 SQL Managed Instance에서는 사용 권한이 필요합니다 VIEW SERVER STATE .

SQL Server 2022(16.x) 이상 버전에서는 서버에 대한 권한이 필요합니다 VIEW SERVER PERFORMANCE STATE .

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