다음을 통해 공유


sys.fn_virtualfilestats(Transact-SQL)

로그 파일을 포함하여 데이터베이스 파일의 I/O 통계를 반환합니다. SQL Server에서는 sys.dm_io_virtual_file_stats 동적 관리 뷰에서도 이 정보를 사용할 수 있습니다.

항목 링크 아이콘 Transact-SQL 구문 표기 규칙

구문

fn_virtualfilestats ( { database_id | NULL } , { file_id | NULL } )

인수

  • database_id | NULL
    데이터베이스의 ID입니다. database_id는 int이며 기본값은 없습니다. SQL Server 인스턴스의 모든 데이터베이스에 대한 정보를 반환하려면 NULL을 지정합니다.

  • file_id | NULL
    파일 ID입니다. file_id는 int이며 기본값은 없습니다. 데이터베이스의 모든 파일에 대한 정보를 반환하려면 NULL을 지정하십시오.

반환된 테이블

열 이름

데이터 형식

설명

DbId

smallint

데이터베이스의 ID입니다.

FileId

smallint

파일의 ID입니다.

TimeStamp

int

데이터를 사용한 시점의 데이터베이스 타임스탬프입니다.

NumberReads

bigint

파일에 대해 읽기가 실행된 횟수입니다.

BytesRead

bigint

파일에 대해 실행된 읽기의 바이트 수입니다.

IoStallReadMS

bigint

사용자가 파일에 대한 읽기 I/O가 완료될 때까지 대기한 총 시간(밀리초)입니다.

NumberWrites

bigint

파일에 대해 쓰기가 실행된 횟수입니다.

BytesWritten

bigint

파일에 대해 실행된 쓰기의 바이트 수입니다.

IoStallWriteMS

bigint

사용자가 파일에 대한 쓰기 I/O가 완료될 때까지 대기한 총 시간(밀리초)입니다.

IoStallMS

bigint

IoStallReadMSIoStallWriteMS의 합계입니다.

FileHandle

bigint

파일 핸들의 값입니다.

BytesOnDisk

bigint

디스크에 있는 파일의 실제 크기(바이트)입니다.

데이터베이스 파일의 경우 이 값은 sys.database_filessize와 동일하지만 페이지가 아닌 바이트 단위로 표현됩니다.

데이터베이스 스냅숏 스파스 파일의 경우 이 값은 운영 체제에서 파일에 사용 중인 공간입니다.

주의

fn_virtualfilestats는 시스템 테이블 반환 함수이며 파일에 대해 수행된 총 I/O 수와 같은 통계 정보를 제공합니다. 이 함수는 사용자가 파일에 읽기/쓰기를 수행할 때 대기해야 하는 시간의 길이를 추적하는 데 사용됩니다. I/O 작업이 빈번하게 이루어지는 파일을 식별하는 데 사용되기도 합니다.

사용 권한

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

1.데이터베이스에 대한 통계 정보 표시

다음 예에서는 ID가 1인 데이터베이스의 파일 ID 1에 대한 통계 정보를 표시합니다.

SELECT *
FROM fn_virtualfilestats(1, 1);
GO

2.명명된 데이터베이스 및 파일에 대한 통계 정보 표시

다음 예에서는 AdventureWorks2012 예제 데이터베이스의 로그 파일에 대한 통계 정보를 표시합니다. 시스템 함수 DB_ID는 database_id 매개 변수를 지정하는 데 사용됩니다.

SELECT *
FROM fn_virtualfilestats(DB_ID(N'AdventureWorks2012'), 2);
GO

3.모든 데이터베이스 및 파일에 대한 통계 정보 표시

다음 예에서는 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)