fn_virtualfilestats(Transact-SQL)
로그 파일을 포함하여 데이터베이스 파일의 I/O 통계를 반환합니다. SQL Server 2005에서는 sys.dm_io_virtual_file_stats 동적 관리 뷰에서도 이 정보를 사용할 수 있습니다.
구문
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 |
IoStallReadMS 및 IoStallWriteMS의 합계입니다. |
FileHandle |
bigint |
파일 핸들의 값입니다. |
BytesOnDisk |
bigint |
디스크에 있는 파일의 실제 크기(바이트)입니다. 데이터베이스 파일의 경우 이 값은 sys.database_files의 size와 동일하지만 페이지가 아닌 바이트 단위로 표현됩니다. 데이터베이스 스냅숏 스파스 파일의 경우 이 값은 운영 체제에서 파일에 사용 중인 공간입니다. |
주의
fn_virtualfilestats는 시스템 테이블 값 함수이며 파일에 대해 수행된 총 I/O 수와 같은 통계 정보를 제공합니다. 이 함수는 사용자가 파일에 읽기/쓰기를 수행할 때 대기해야 하는 시간의 길이를 추적하는 데 사용됩니다. I/O 작업이 빈번하게 이루어지는 파일을 식별하는 데 사용되기도 합니다.
사용 권한
서버에 대한 VIEW SERVER STATE 권한이 필요합니다.
예
1. 데이터베이스에 대한 통계 정보 표시
다음 예에서는 ID가 1
인 데이터베이스의 파일 ID 1에 대한 통계 정보를 표시합니다.
SELECT *
FROM fn_virtualfilestats(1, 1);
GO
2. 명명된 데이터베이스 및 파일에 대한 통계 정보 표시
다음 예에서는 AdventureWorks
예제 데이터베이스의 로그 파일에 대한 통계 정보를 표시합니다. 시스템 함수 DB
_ID
는 database_id 매개 변수를 지정하는 데 사용됩니다.
SELECT *
FROM fn_virtualfilestats(DB_ID(N'AdventureWorks'), 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)