sys.database_files(Transact-SQL)
적용 대상: SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics Analytics
Platform System(PDW)
데이터베이스 자체에 저장된 데이터베이스 파일당 행을 포함합니다. 데이터베이스별 보기입니다.
열 이름 | 데이터 형식 | 설명 |
---|---|---|
file_id |
int | 데이터베이스 내 파일의 ID입니다. |
file_guid |
uniqueidentifier | 파일의 GUID입니다.NULL = 데이터베이스가 이전 버전의 SQL Server에서 업그레이드되었습니다(SQL Server 2005 및 이전 버전에 유효). |
type |
tinyint | 파일 형식: 0 = 행 1 = 로그 2 = FILESTREAM 3 = 정보 제공 목적으로만 식별됩니다. 지원 안 됨 향후 호환성은 보장되지 않습니다. 4 = 전체 텍스트 |
type_desc |
nvarchar(60) | 파일 형식에 대한 설명:ROWS LOG FILESTREAM FULLTEXT |
data_space_id |
int | 값은 0이거나 0보다 클 수 있습니다. 값 0 은 데이터베이스 로그 파일을 나타내고 0보다 큰 값은 이 데이터 파일이 저장되는 파일 그룹의 ID를 나타냅니다. |
name |
sysname | 데이터베이스에 있는 파일의 논리적 이름입니다. |
physical_name |
nvarchar(260) | 운영 체제 파일 이름입니다. 데이터베이스가 가용성 그룹에서 읽을 수 있는 보조 복제본에 의해 호스팅되는 경우 주 복제본 physical_name 데이터베이스의 파일 위치를 나타냅니다. 읽을 수 있는 보조 데이터베이스의 올바른 파일 위치에 대해 sys.sysaltfiles를 쿼리 합니다. |
state |
tinyint | 파일 상태: 0 = ONLINE 1 = RESTORING 2 = RECOVERING 3 = RECOVERY_PENDING 4 = SUSPECT 5 = 정보 제공 목적으로만 식별됩니다. 지원 안 됨 향후 호환성은 보장되지 않습니다. 6 = OFFLINE 7 = DEFUNCT |
state_desc |
nvarchar(60) | 파일 상태에 대한 설명:ONLINE RESTORING RECOVERING RECOVERY_PENDING SUSPECT OFFLINE DEFUNCT 자세한 내용은 파일 상태를 참조하세요. |
size |
int | 8KB 페이지 단위로 나타낸 파일의 현재 크기입니다. 0 = 해당 없음 데이터베이스 스냅샷의 경우 크기는 스냅샷이 파일에 사용할 수 있는 최대 공간을 반영합니다. FILESTREAM 파일 그룹 컨테이너의 경우 크기는 컨테이너의 현재 사용된 크기를 반영합니다. |
max_size |
int | 8KB 페이지 단위로 나타낸 파일의 최대 크기입니다. 0 = 증가가 허용되지 않습니다. -1 = 디스크가 가득 찼을 때까지 파일이 증가할 수 있습니다. 268435456 = 로그 파일의 최대 크기는 2TB까지 증가할 수 있습니다. FILESTREAM 파일 그룹 컨테이너의 max_size 경우 컨테이너의 최대 크기를 반영합니다.로그 파일의 최대 크기에 대한 무제한 로그 파일 크기 보고서 -1 로 업그레이드되는 데이터베이스입니다.Azure SQL Database에서 모든 데이터 파일의 값 합계는 데이터베이스의 max_size 최대 데이터 크기보다 작을 수 있습니다. 최대 데이터 크기를 결정하는 데 사용합니다 DATABASEPROPERTYEX(DB_NAME(), 'MaxSizeInBytes') . |
growth |
int | 0 = 파일 크기가 고정되어 증가하지 않습니다. 0보다 크면 파일이 자동으로 증가합니다. = 0이면 is_percent_growth 증가 증분이 8KB 페이지 단위로 가장 가까운 64KB로 반올림됩니다.= 1이면 is_percent_growth 증가 증분이 정수 백분율로 표시됩니다. |
is_media_read_only |
bit | 1 = 파일이 읽기 전용 미디어에 있습니다. 0 = 파일이 읽기/쓰기 미디어에 있습니다. |
is_read_only |
bit | 1 = 파일이 읽기 전용으로 표시됩니다. 0 = 파일이 읽기/쓰기로 표시됩니다. |
is_sparse |
bit | 1 = 스파스 파일입니다. 0 = 파일이 스파스 파일이 아닙니다. 자세한 내용은 데이터베이스 스냅샷의 스파스 파일 크기 보기(Transact-SQL)를 참조하세요. |
is_percent_growth |
bit | 1 = 파일의 증가율이 백분율입니다. 0 = 페이지의 절대 증가 크기입니다. |
is_name_reserved |
bit | 1 = 삭제된 파일 이름(name 또는 physical_name )은 다음 로그 백업 후에만 다시 사용할 수 있습니다. 데이터베이스에서 파일을 삭제하면 논리 이름은 다음 로그 백업까지 예약된 상태로 유지됩니다. 이 열은 전체 복구 모델 및 대량 로그 복구 모델에서만 관련이 있습니다. |
create_lsn |
numeric(25,0) | 파일이 만들어진 LSN(로그 시퀀스 번호)입니다. |
drop_lsn |
numeric(25,0) | 파일이 삭제된 LSN입니다. 0 = 파일 이름을 다시 사용할 수 없습니다. |
read_only_lsn |
numeric(25,0) | 파일이 포함된 파일 그룹이 읽기/쓰기에서 읽기 전용(가장 최근 변경)으로 변경된 LSN입니다. |
read_write_lsn |
numeric(25,0) | 파일이 포함된 파일 그룹이 읽기 전용에서 읽기/쓰기(가장 최근의 변경)로 변경된 LSN입니다. |
differential_base_lsn |
numeric(25,0) | 차등 백업의 기반입니다. 이 LSN 이후에 변경된 데이터 익스텐트가 차등 백업에 포함됩니다. |
differential_base_guid |
uniqueidentifier | 차등 백업의 기반이 되는 기준 백업의 고유 식별자입니다. |
differential_base_time |
날짜/시간 | 에 해당하는 differential_base_lsn 시간입니다. |
redo_start_lsn |
numeric(25,0) | 다음 롤포워드가 시작되어야 하는 시점의 LSN입니다. 이 NULL (가) 아닌 경우RESTORING = state 입니다.state = RECOVERY_PENDING |
redo_start_fork_guid |
uniqueidentifier | 복구 포크의 고유 식별자입니다. 복원된 다음 로그 백업은 first_fork_guid 이 값과 일치해야 합니다. 파일의 현재 상태를 나타냅니다. |
redo_target_lsn |
numeric(25,0) | 이 파일에 대한 온라인 롤포워드를 중지할 수 있는 시점의 LSN입니다. 이 NULL (가) 아닌 경우RESTORING = state 입니다.state = RECOVERY_PENDING |
redo_target_fork_guid |
uniqueidentifier | 파일을 복구할 수 있는 복구 포크입니다. 와 쌍을 이깁니다 redo_target_lsn . |
backup_lsn |
numeric(25,0) | 파일의 가장 최근 데이터 또는 차등 백업의 LSN입니다. |
참고 항목
큰 인덱스를 삭제하거나 다시 작성하거나 큰 테이블을 삭제하거나 자르면 데이터베이스 엔진 트랜잭션이 커밋될 때까지 실제 페이지 할당 취소 및 관련 잠금을 연기합니다. 지연된 삭제 작업은 할당된 공간을 즉시 해제하지 않습니다. 따라서 큰 개체를 삭제하거나 잘린 직후에 반환된 sys.database_files
값은 사용 가능한 실제 디스크 공간을 반영하지 않을 수 있습니다.
사용 권한
public 역할의 멤버 자격이 필요합니다. 자세한 내용은 Metadata Visibility Configuration을 참조하세요.
예제
다음 문은 각 데이터베이스 파일의 이름, 파일 크기 및 빈 공간의 양을 반환합니다.
SELECT name, size/128.0 FileSizeInMB,
size/128.0 - CAST(FILEPROPERTY(name, 'SpaceUsed') AS int)/128.0
AS EmptySpaceInMB
FROM sys.database_files;
Azure SQL Database의 데이터베이스에 대한 파일 공간 관리에서 SQL Database를 사용하여 예제 쿼리를 찾습니다. 마케팅 목록의 구성원을 관리할 수 있습니다.
- 스토리지 공간 정보를 위해 단일 데이터베이스를 쿼리합니다.
- 탄력적 풀에서 스토리지 공간 정보를 쿼리합니다.