반응형
반응형

sys.dm_io_virtual_file_stats 동적 관리 뷰는 데이터 로그 파일에 대한 I/O 통계 정보를 제공합니다. 사용자들이 어떤 파일에 대하여 읽기나 쓰기를 수행하기 위하여 기다린 시간을 제공하므로 뷰를 사용하면 어떤 파일들에 대하여 I/O 많이 발생하는지 확인할 있습니다. I/O 인한 성능 저하가 의심되는 경우에는 sys.dm_io_virtual_file_stats 뷰에서 io_stall 값을 점검할 것을 권고합니다.

 

[구문] sys.dm_io_virtual_file_stats(

{ database_id | NULL }

, { file_id | NULL }

)

 

데이터베이스 파일의 I/O 정보 확인하기

-- 모든 데이터베이스의 모든 파일들의 I/O 정보 확인

SELECT DB_NAME(database_id) as DBName,

       File_ID,

       File_Name(File_ID) as FileName,

       IO_Stall,

       Num_Of_Reads, Num_Of_Writes,

Num_Of_Bytes_Read, Num_Of_Bytes_Written

FROM sys.dm_io_virtual_file_stats (null, null)

ORDER BY IO_Stall DESC;

GO

-- 특정 데이터베이스의 모든 파일들에 대한 I/O 정보 확인 (: tempdb)

SELECT * FROM sys.dm_io_virtual_file_stats(DB_ID(‘tempdb’), null);

GO

-- 특정 데이터베이스의 특정 파일의 I/O 정보 확인 (: tempdb Primary Data File)

SELECT * FROM sys.dm_io_virtual_file_stats (DB_ID(‘tempdb’), 1);

GO

-- 특정 데이터베이스의 특정 파일의 I/O 정보 확인 (: tempdb 로그 파일)

SELECT * FROM sys.dm_io_virtual_file_stats (DB_ID(‘tempdb’), 2);

GO

 

 


모든 데이터베이스의 모든 파일들의 I/O 정보 확인하는 부분 중에 파일 이름 구하는 것에 약간의 오류가 있어서 쿼리 수정한것 댓글 답니다.

select DB_NAME(a.database_id) as DBName,
a.File_ID,
b.name,
a.IO_Stall,
a.Num_Of_Reads, a.Num_Of_Writes,
a.Num_Of_Bytes_Read, a.Num_Of_Bytes_Written
from sys.dm_io_virtual_file_stats(null, null) a
inner join sys.master_files b on a.database_id = b.database_id and a.file_id = b.file_id

반응형

+ Recent posts

반응형