다음을 통해 공유


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를 사용하여 예제 쿼리를 찾습니다. 마케팅 목록의 구성원을 관리할 수 있습니다.