다음을 통해 공유


sys.dm_io_virtual_file_stats(Transact-SQL)

적용 대상: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)

데이터 및 로그 파일에 대한 I/O 통계를 반환합니다. 이 동적 관리 함수는 fn_virtualfilestats 함수를 대체합니다.

참고 항목

Azure Synapse Analytics에서 이를 호출하려면 이름 sys.dm_pdw_nodes_io_virtual_file_stats 사용합니다. 이 구문은 Azure Synapse Analytics의 서버리스 SQL 풀에서 지원되지 않습니다.

구문

-- Syntax for SQL Server and Azure SQL Database

sys.dm_io_virtual_file_stats (   
    { database_id | NULL },  
    { file_id | NULL }  
)  
-- Syntax for Azure Synapse Analytics

sys.dm_pdw_nodes_io_virtual_file_stats

인수

database_id | 영

적용 대상: SQL Server 2008(10.0.x) 이상, Azure SQL Database

데이터베이스의 ID입니다. database_id 기본값이 없는 int입니다. 올바른 입력은 데이터베이스의 ID 번호 또는 NULL입니다. NULL을 지정하면 SQL Server 인스턴스의 모든 데이터베이스가 반환됩니다.

기본 제공 함수 DB_ID 지정할 수 있습니다.

file_id | 영

적용 대상: SQL Server 2008(10.0.x) 이상, Azure SQL Database

파일의 ID입니다. file_id 기본값이 없는 int입니다. 유효한 입력은 파일 또는 NULL의 ID 번호입니다. NULL을 지정하면 데이터베이스의 모든 파일이 반환됩니다.

기본 제공 함수 FILE_IDEX 지정할 수 있으며 현재 데이터베이스의 파일을 참조합니다.

반환된 테이블

열 이름 데이터 형식 설명
database_name sysname SQL Server에는 적용되지 않습니다.

데이터베이스 이름입니다.

Azure Synapse Analytics의 경우 pdw_node_id 식별되는 노드에 저장된 데이터베이스의 이름입니다. 각 노드에는 13개의 파일이 있는 하나의 tempdb 데이터베이스가 있습니다. 각 노드에는 배포당 하나의 데이터베이스가 있으며 각 배포 데이터베이스에는 5개의 파일이 있습니다. 예를 들어 각 노드에 4개의 배포가 포함된 경우 결과에는 pdw_node_id당 20개의 배포 데이터베이스 파일이 표시됩니다.
database_id smallint 데이터베이스의 ID입니다.

Azure SQL Database에서 값은 단일 데이터베이스 또는 탄력적 풀 내에서 고유하지만 논리 서버 내에는 없습니다.
file_id smallint 파일의 ID입니다.
sample_ms bigint 컴퓨터가 시작된 이후의 시간(밀리초)입니다. 이 열을 사용하여 이 함수의 다른 출력을 비교할 수 있습니다.

데이터 형식은 SQL Server 2008(10.0.x)에서 SQL Server 2014(12.x)를 통해 int 입니다. 이러한 버전에서는 약 25일의 연속 데이터베이스 엔진 가동 시간 후에 값이 0으로 다시 설정됩니다.
num_of_reads bigint 파일에서 실행된 읽기 수입니다.
num_of_bytes_read bigint 이 파일에서 읽은 총 바이트 수입니다.
io_stall_read_ms bigint 사용자가 파일에서 실행된 읽기를 기다린 총 시간(밀리초)입니다.
num_of_writes bigint 이 파일에 대한 쓰기 수입니다.
num_of_bytes_written bigint 파일에 기록된 총 바이트 수입니다.
io_stall_write_ms bigint 사용자가 파일에 쓰기가 완료되기를 기다린 총 시간(밀리초)입니다.
io_stall bigint 사용자가 파일에서 I/O가 완료되기를 기다린 총 시간(밀리초)입니다.
size_on_disk_bytes bigint 이 파일의 디스크에 사용되는 바이트 수입니다. 스파스 파일의 경우 이 숫자는 데이터베이스 스냅샷에 사용되는 디스크의 실제 바이트 수입니다.
file_handle varbinary 이 파일에 대한 Windows 파일 핸들입니다.
io_stall_queued_read_ms bigint 적용 되지 않습니다:: SQL Server 2008 (10.0.x) SQL Server 2012 (11.x)를 통해.

읽기를 위해 IO 리소스 거버넌스에서 도입한 총 IO 대기 시간입니다. Null을 허용하지 않습니다. 자세한 내용은 sys.dm_resource_governor_resource_pools(Transact-SQL)를 참조 하세요.
io_stall_queued_write_ms bigint 적용 되지 않습니다:: SQL Server 2008 (10.0.x) SQL Server 2012 (11.x)를 통해.

쓰기를 위해 IO 리소스 거버넌스에서 도입한 총 IO 대기 시간입니다. Null을 허용하지 않습니다.
pdw_node_id int 적용 대상: 배포에 대한 노드의 Azure Synapse Analytics

식별자입니다.

설명

카운터는 SQL Server(MSSQLSERVER) 서비스가 시작될 때마다 비워지도록 초기화됩니다.

사용 권한

VIEW SERVER STATE 권한이 필요합니다. 자세한 내용은 동적 관리 뷰 및 함수(Transact-SQL)를 참조하세요.

SQL Server 2022 이상에 대한 권한

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

예제

A. 로그 파일에 대한 통계 반환

적용 대상: SQL Server 2008(10.0.x) 이상, Azure SQL Database

다음 예제에서는 AdventureWorks2022 데이터베이스의 로그 파일에 대한 통계를 반환합니다.

SELECT * FROM sys.dm_io_virtual_file_stats(DB_ID(N'AdventureWorks2022'), 2);  
GO  

B. tempdb의 파일에 대한 통계 반환

적용 대상: Azure Synapse Analytics

SELECT * FROM sys.dm_pdw_nodes_io_virtual_file_stats 
WHERE database_name = 'tempdb' AND file_id = 2;

참고 항목

동적 관리 뷰 및 함수(Transact-SQL)
I O 관련 동적 관리 뷰 및 함수(Transact-SQL)
sys.database_files(Transact-SQL)
sys.master_files(Transact-SQL)