sys.dm_os_volume_stats(Transact-SQL)
적용 대상:SQL Server
지정된 데이터베이스와 파일이 SQL Server에 저장되는 운영 체제 볼륨(디렉터리)에 대한 정보를 반환합니다. 이 동적 관리 함수를 사용하여 실제 디스크 드라이브의 특성을 확인하거나 디렉터리에 대한 사용 가능한 여유 공간 정보를 반환합니다.
구문
sys.dm_os_volume_stats (database_id, file_id)
인수
database_id
데이터베이스의 ID입니다. database_id는 int이며 기본값은 없습니다. NULL일 수 없습니다.
file_id
파일의 ID입니다. file_id 기본값이 없는 int입니다. NULL일 수 없습니다.
반환된 테이블
세로 막대형 | 데이터 형식 | Description |
---|---|---|
database_id | int | 데이터베이스의 ID입니다. null일 수 없습니다. |
file_id | int | 파일의 ID입니다. null일 수 없습니다. |
volume_mount_point | nvarchar(512) | 해당 볼륨이 루트 경로로 지정된 탑재 지점입니다. 빈 문자열을 반환할 수 있습니다. Linux 운영 체제에서 null을 반환합니다. |
volume_id | nvarchar(512) | 운영 체제 볼륨 ID입니다. 빈 문자열을 반환할 수 있습니다. Linux 운영 체제에서 null을 반환합니다. |
logical_volume_name | nvarchar(512) | 논리적 볼륨 이름입니다. 빈 문자열을 반환할 수 있습니다. Linux 운영 체제에서 null을 반환합니다. |
file_system_type | nvarchar(512) | 파일 시스템 볼륨의 형식(예: NTFS, FAT, RAW)입니다. 빈 문자열을 반환할 수 있습니다. Linux 운영 체제에서 null을 반환합니다. |
total_bytes | bigint | 볼륨의 총 크기(바이트)입니다. null일 수 없습니다. |
available_bytes | bigint | 볼륨에서 사용 가능한 여유 공간입니다. null일 수 없습니다. |
supports_compression | tinyint | 볼륨에서 운영 체제 압축을 지원하는지 여부를 나타냅니다. Windows에서는 null일 수 없으며 Linux 운영 체제에서 null을 반환합니다. |
supports_alternate_streams | tinyint | 볼륨이 대체 스트림을 지원하는지 나타냅니다. Windows에서는 null일 수 없으며 Linux 운영 체제에서 null을 반환합니다. |
supports_sparse_files | tinyint | 볼륨이 스파스 파일을 지원하는지 나타냅니다. Windows에서는 null일 수 없으며 Linux 운영 체제에서 null을 반환합니다. |
is_read_only | tinyint | 볼륨이 현재 읽기 전용으로 표시되어 있는지를 나타냅니다. null일 수 없습니다. |
is_compressed | tinyint | 이 볼륨이 현재 압축되었는지 여부를 나타냅니다. Windows에서는 null일 수 없으며 Linux 운영 체제에서 null을 반환합니다. |
incurs_seek_penalty | tinyint | 이 볼륨을 지원하는 스토리지 유형을 나타냅니다. 가능한 값은 다음과 같습니다. 0: 일반적으로 스토리지 디바이스가 PMM 또는 SSD인 경우 이 볼륨에 대한 검색 페널티 없음 1: 일반적으로 스토리지 디바이스가 HDD인 경우 이 볼륨에 대한 페널티를 구합니다. 2: 볼륨이 UNC 경로 또는 탑재된 공유에 있을 때 스토리지 유형을 확인할 수 없습니다. NULL: Linux 운영 체제에서 스토리지 유형을 확인할 수 없습니다. 적용 대상: SQL Server(SQL Server 2019(15.x)부터) |
보안
사용 권한
VIEW SERVER STATE
권한이 필요합니다.
SQL Server 2022 이상에 대한 권한
서버에 대한 VIEW SERVER PERFORMANCE STATE 권한이 필요합니다.
예
A. 모든 데이터베이스 파일에 대해 총 공간 및 사용 가능한 공간 반환
다음 예제에서는 SQL Server 인스턴스의 모든 데이터베이스 파일에 대한 총 공간 및 사용 가능한 공간(바이트)을 반환합니다.
SELECT f.database_id, f.file_id, volume_mount_point, total_bytes, available_bytes
FROM sys.master_files AS f
CROSS APPLY sys.dm_os_volume_stats(f.database_id, f.file_id);
B. 현재 데이터베이스의 총 공간 및 사용 가능한 공간 반환
다음 예제에서는 현재 데이터베이스의 데이터베이스 파일에 대한 총 공간 및 사용 가능한 공간(바이트)을 반환합니다.
SELECT database_id, f.file_id, volume_mount_point, total_bytes, available_bytes
FROM sys.database_files AS f
CROSS APPLY sys.dm_os_volume_stats(DB_ID(f.name), f.file_id);
참고 항목
sys.master_files(Transact-SQL)
sys.database_files(Transact-SQL)
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기