적용 대상: SQL Server
Azure SQL 데이터베이스
Azure SQL Managed Instance
로그 파일을 포함하여 데이터베이스 파일에 대한 I/O 통계를 반환합니다. SQL Server에서 이 정보는 sys.dm_io_virtual_file_stats 동적 관리 뷰에서도 사용할 수 있습니다.
구문
fn_virtualfilestats ( { database_id | NULL } , { file_id | NULL } )
인수
database_id | 영
데이터베이스의 ID입니다. database_id는 int이며 기본값은 없습니다. SQL Server 인스턴스의 모든 데이터베이스에 대한 정보를 반환하려면 NULL을 지정합니다.
file_id | 영
파일의 ID입니다. file_id 기본값이 없는 int입니다. 데이터베이스의 모든 파일에 대한 정보를 반환하려면 NULL을 지정합니다.
반환된 테이블
| 열 이름 | 데이터 형식 | 설명 |
|---|---|---|
| DbId | smallint | 데이터베이스 ID입니다. |
| FileId | smallint | 파일의 ID입니다. |
| TimeStamp | bigint | 데이터를 가져온 데이터베이스 타임스탬프입니다. SQL Server 2016(13.x) 이전 버전의 int 입니다. |
| NumberReads | bigint | 파일에서 실행된 읽기 수입니다. |
| BytesRead | bigint | 파일에서 읽은 바이트 수입니다. |
| IoStallReadMS | bigint | 사용자가 파일에 대한 읽기 I/O가 완료될 때까지 대기한 총 시간(밀리초)입니다. |
| NumberWrites | bigint | 파일에 대한 쓰기 수입니다. |
| BytesWritten | bigint | 파일에 기록된 바이트 수입니다. |
| IoStallWriteMS | bigint | 사용자가 파일에서 쓰기 I/O가 완료되기를 기다린 총 시간(밀리초)입니다. |
| IoStallMS | bigint | IoStallReadMS 및 IoStallWriteMS의 합계입니다. |
| FileHandle | bigint | 파일 핸들의 값입니다. |
| BytesOnDisk | bigint | 디스크에 있는 파일의 실제 크기(바이트)입니다. 데이터베이스 파일의 경우 이 값은 sys.database_files 크기와 동일하지만 페이지가 아닌 바이트로 표현됩니다. 데이터베이스 스냅샷 스파스 파일의 경우 운영 체제가 파일에 사용하는 공간입니다. |
설명
fn_virtualfilestats 파일에서 수행된 총 I/O 수와 같은 통계 정보를 제공하는 시스템 테이블 반환 함수입니다. 이 함수는 사용자가 파일에 읽기/쓰기를 수행할 때 대기해야 하는 시간의 길이를 추적하는 데 사용됩니다. 또한 이 함수는 많은 수의 I/O 작업이 발생하는 파일을 식별하는 데 도움이 됩니다.
사용 권한
서버에 대한 VIEW SERVER STATE 권한이 필요합니다.
예제
A. 데이터베이스에 대한 통계 정보 표시
다음 예에서는 ID가 1인 데이터베이스의 파일 ID 1에 대한 통계 정보를 표시합니다.
SELECT *
FROM fn_virtualfilestats(1, 1);
GO
B. 명명된 데이터베이스 및 파일에 대한 통계 정보 표시
다음 예제에서는 AdventureWorks2022 샘플 데이터베이스의 로그 파일에 대한 통계 정보를 표시합니다. 시스템 함수 DB_ID 는 database_id 매개 변수를 지정하는 데 사용됩니다.
SELECT *
FROM fn_virtualfilestats(DB_ID(N'AdventureWorks2022'), 2);
GO
C. 모든 데이터베이스 및 파일에 대한 통계 정보 표시
다음 예제에서는 SQL Server 인스턴스의 모든 데이터베이스에 있는 모든 파일에 대한 통계 정보를 표시합니다.
SELECT *
FROM fn_virtualfilestats(NULL,NULL);
GO
참고 항목
DB_ID(Transact-SQL)
FILE_IDEX(Transact-SQL)
sys.database_files(Transact-SQL)
sys.master_files(Transact-SQL)