sys.database_files(Transact-SQL)sys.database_files (Transact-SQL)

적용 대상: 예SQL Server 예Azure SQL Database 예Azure Synapse Analytics(SQL DW) 예병렬 데이터 웨어하우스 APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

데이터베이스 자체에 저장되어 있는 각 데이터베이스 파일당 한 개의 행을 포함합니다.Contains a row per file of a database as stored in the database itself. 이 뷰는 데이터베이스별 뷰입니다.This is a per-database view.

열 이름Column name 데이터 형식Data type 설명Description
file_idfile_id intint 데이터베이스 내 파일의 ID입니다.ID of the file within database.
file_guidfile_guid uniqueidentifieruniqueidentifier 파일에 대한 GUID입니다.GUID for the file.

NULL = 데이터베이스가 이전 버전의 SQL ServerSQL Server에서 업그레이드 되었습니다 (SQL Server 2005 및 이전 버전에 유효).NULL = Database was upgraded from an earlier version of SQL ServerSQL Server (Valid for SQL Server 2005 and earlier).
유형type tinyinttinyint 파일 유형입니다.File type:

0 = 행0 = Rows

1 = 로그1 = Log

2 = FILESTREAM2 = FILESTREAM

3 = 정보를 제공하기 위해서만 확인됩니다.Identified for informational purposes only. 지원되지 않습니다.Not supported. 향후 호환성은 보장되지 않습니다.Future compatibility is not guaranteed.3 = 정보를 제공하기 위해서만 확인됩니다.Identified for informational purposes only. 지원되지 않습니다.Not supported. 향후 호환성은 보장되지 않습니다.Future compatibility is not guaranteed.

4 = 전체 텍스트4 = Full-text
type_desctype_desc nvarchar(60)nvarchar(60) 파일 유형에 대한 설명입니다.Description of the file type:

ROWSROWS

LOGLOG

FILESTREAMFILESTREAM

FULLTEXTFULLTEXT
data_space_iddata_space_id intint 값은 0 이상일 수 있습니다.Value can be 0 or greater than 0. 값 0은 데이터베이스 로그 파일을 나타내고 0보다 큰 값은 이 데이터 파일이 저장되는 파일 그룹의 ID를 나타냅니다.A value of 0 represents the database log file, and a value greater than 0 represents the ID of the filegroup where this data file is stored.
namename sysnamesysname 데이터베이스에서 파일의 논리적 이름입니다.Logical name of the file in the database.
physical_namephysical_name nvarchar(260)nvarchar(260) 운영 체제 파일 이름입니다.Operating-system file name. 데이터베이스가 AlwaysOn 읽기 가능한 보조 복제본에 의해 호스트 되는 경우 physical_name 는 주 복제본 데이터베이스의 파일 위치를 나타냅니다.If the database is hosted by an AlwaysOn readable secondary replica, physical_name indicates the file location of the primary replica database. 읽을 수 있는 보조 데이터베이스의 올바른 파일 위치에 대해 sys.sysaltfiles를 쿼리 합니다.For the correct file location of a readable secondary database, query sys.sysaltfiles.
statestate tinyinttinyint 파일 상태입니다.File state:

0 = ONLINE0 = ONLINE

1 = RESTORING1 = RESTORING

2 = RECOVERING2 = RECOVERING

3 = RECOVERY_PENDING3 = RECOVERY_PENDING

4 = SUSPECT4 = SUSPECT

5 = 정보를 제공하기 위해서만 확인됩니다.Identified for informational purposes only. 지원되지 않습니다.Not supported. 향후 호환성은 보장되지 않습니다.Future compatibility is not guaranteed.5 = 정보를 제공하기 위해서만 확인됩니다.Identified for informational purposes only. 지원되지 않습니다.Not supported. 향후 호환성은 보장되지 않습니다.Future compatibility is not guaranteed.

6 = OFFLINE6 = OFFLINE

7 = DEFUNCT7 = DEFUNCT
state_descstate_desc nvarchar(60)nvarchar(60) 파일 상태에 대한 설명입니다.Description of the file state:

ONLINEONLINE

RESTORINGRESTORING

RECOVERINGRECOVERING

RECOVERY_PENDINGRECOVERY_PENDING

SUSPECTSUSPECT

OFFLINEOFFLINE

DEFUNCTDEFUNCT

자세한 내용은 파일 상태를 참조하세요.For more information, see File States.
sizesize intint 8KB 페이지 단위로 나타낸 파일의 현재 크기입니다.Current size of the file, in 8-KB pages.

0 = 해당 사항 없음0 = Not applicable

데이터베이스 스냅샷의 경우 size는 스냅샷이 파일에 대해 사용할 수 있는 최대 공간을 나타냅니다.For a database snapshot, size reflects the maximum space that the snapshot can ever use for the file.

FILESTREAM 파일 그룹 컨테이너의 경우 크기는 컨테이너의 현재 사용 된 크기를 반영 합니다.For FILESTREAM filegroup containers, size reflects the current used size of the container.
max_sizemax_size intint 8KB 페이지 단위로 나타낸 파일의 최대 크기입니다.Maximum file size, in 8-KB pages:

0 = 증가를 허용하지 않습니다.0 = No growth is allowed.

-1 = 디스크가 꽉 찰 때까지 파일이 증가합니다.-1 = File will grow until the disk is full.

268435456 = 로그 파일이 최대 2TB까지 증가합니다.268435456 = Log file will grow to a maximum size of 2 TB.

FILESTREAM 파일 그룹 컨테이너의 경우 max_size는 컨테이너의 최대 크기를 반영 합니다.For FILESTREAM filegroup containers, max_size reflects the maximum size of the container.

로그 파일의 크기가 무제한으로 업그레이드 된 데이터베이스는 로그 파일의 최대 크기에 대해-1을 보고 합니다.Note that databases that are upgraded with an unlimited log file size will report -1 for the maximum size of the log file.
growthgrowth intint 0 = 파일 크기가 고정되어 증가하지 않습니다.0 = File is fixed size and will not grow.

> 0 = 파일은 자동으로 증가 합니다.>0 = File will grow automatically.

is_percent_growth = 0인 경우 증분은 8KB 페이지 단위로 표시되며 64KB 단위로 반올림됩니다.If is_percent_growth = 0, growth increment is in units of 8-KB pages, rounded to the nearest 64 KB.

is_percent_growth = 1이면 증분은 정수 백분율로 표시됩니다.If is_percent_growth = 1, growth increment is expressed as a whole number percentage.
is_media_read_onlyis_media_read_only bitbit 1 = 파일이 읽기 전용 미디어에 있습니다.1 = File is on read-only media.

0 = 파일이 읽기/쓰기 미디어에 있습니다.0 = File is on read-write media.
is_read_onlyis_read_only bitbit 1 = 파일이 읽기 전용으로 표시되어 있습니다.1 = File is marked read-only.

0 = 파일이 읽기/쓰기로 표시되어 있습니다.0 = File is marked read/write.
is_sparseis_sparse bitbit 1 = 스파스 파일입니다.1 = File is a sparse file.

0 = 스파스 파일이 아닙니다.0 = File is not a sparse file.

자세한 내용은 데이터베이스 스냅샷 스파스 파일의 크기 보기(Transact-SQL)를 참조하세요.For more information, see View the Size of the Sparse File of a Database Snapshot (Transact-SQL).
is_percent_growthis_percent_growth bitbit 1 = 파일의 증가 단위가 백분율입니다.1 = Growth of the file is a percentage.

0 = 페이지 단위의 절대 증가 크기입니다.0 = Absolute growth size in pages.
is_name_reservedis_name_reserved bitbit 1 = 삭제된 파일 이름(name 또는 physical_name)은 다음 로그 백업 후에만 다시 사용이 가능합니다.1 = Dropped file name (name or physical_name) is reusable only after the next log backup. 데이터베이스에서 파일을 삭제할 때 논리적 이름은 다음 로그 백업까지 예약된 상태로 유지됩니다.When files are dropped from a database, the logical names stay in a reserved state until the next log backup. 이 열은 전체 복구 모델 및 대량 로그 복구 모델에만 해당됩니다.This column is relevant only under the full recovery model and the bulk-logged recovery model.
create_lsncreate_lsn numeric(25,0)numeric(25,0) 파일이 생성된 시점의 LSN(로그 시퀀스 번호)입니다.Log sequence number (LSN) at which the file was created.
drop_lsndrop_lsn numeric(25,0)numeric(25,0) 파일이 삭제된 시점의 LSN입니다.LSN at which the file was dropped.

0 = 이 파일 이름을 다시 사용할 수 없습니다.0 = The file name is unavailable for reuse.
read_only_lsnread_only_lsn numeric(25,0)numeric(25,0) 해당 파일이 포함된 파일 그룹이 읽기/쓰기에서 읽기 전용으로 변경된 시점(가장 최근 변경)의 LSN입니다.LSN at which the filegroup that contains the file changed from read/write to read-only (most recent change).
read_write_lsnread_write_lsn numeric(25,0)numeric(25,0) 해당 파일이 포함된 파일 그룹이 읽기 전용에서 읽기/쓰기로 변경된 시점(가장 최근 변경)의 LSN입니다.LSN at which the filegroup that contains the file changed from read-only to read/write (most recent change).
differential_base_lsndifferential_base_lsn numeric(25,0)numeric(25,0) 차등 백업에 대한 기본 LSN입니다.Base for differential backups. 이 LSN 이후에 변경된 데이터 익스텐트가 차등 백업에 포함됩니다.Data extents changed after this LSN will be included in a differential backup.
differential_base_guiddifferential_base_guid uniqueidentifieruniqueidentifier 차등 백업의 기반이 되는 기준 백업의 고유 식별자입니다.Unique identifier of the base backup on which a differential backup will be based.
differential_base_timedifferential_base_time datetimedatetime differential_base_lsn에 해당하는 시간입니다.Time corresponding to differential_base_lsn.
redo_start_lsnredo_start_lsn numeric(25,0)numeric(25,0) 다음 롤포워드가 시작되어야 하는 시점의 LSN입니다.LSN at which the next roll forward must start.

state = RESTORING 또는 state = RECOVERY_PENDING이 아니면 NULL입니다.Is NULL unless state = RESTORING or state = RECOVERY_PENDING.
redo_start_fork_guidredo_start_fork_guid uniqueidentifieruniqueidentifier 복구 분기 지점의 고유 식별자입니다.Unique identifier of the recovery fork. 복원된 다음 로그 백업의 first_fork_guid는 이 값과 일치해야 합니다.The first_fork_guid of the next log backup restored must match this value. 파일의 현재 상태를 나타냅니다.This represents the current state of the file.
redo_target_lsnredo_target_lsn numeric(25,0)numeric(25,0) 이 파일에 대한 온라인 롤포워드를 중지할 수 있는 시점의 LSN입니다.LSN at which the online roll forward on this file can stop.

state = RESTORING 또는 state = RECOVERY_PENDING이 아니면 NULL입니다.Is NULL unless state = RESTORING or state = RECOVERY_PENDING.
redo_target_fork_guidredo_target_fork_guid uniqueidentifieruniqueidentifier 파일을 복구할 수 있는 복구 분기 지점입니다.The recovery fork on which the file can be recovered. redo_target_lsn과 쌍을 이룹니다.Paired with redo_target_lsn.
backup_lsnbackup_lsn numeric(25,0)numeric(25,0) 파일의 가장 최근 데이터 또는 차등 백업의 LSN입니다.The LSN of the most recent data or differential backup of the file.

참고

대형 인덱스를 삭제하거나 다시 작성할 때 또는 대형 테이블을 삭제하거나 자를 때 데이터베이스 엔진Database Engine에서는 트랜잭션이 커밋될 때까지 실제 페이지 할당 해제 및 관련 잠금을 연기합니다.When you drop or rebuild large indexes, or drop or truncate large tables, the 데이터베이스 엔진Database Engine defers the actual page deallocations, and their associated locks, until after the transaction commits. 삭제 작업이 지연되어도 할당된 공간이 즉시 해제되지는 않습니다.Deferred drop operations do not release allocated space immediately. 따라서 대형 인덱스를 삭제하거나 잘라낸 직후 sys.database_files에서 반환한 값은 실제 사용할 수 있는 디스크 공간과 다를 수 있습니다.Therefore, the values returned by sys.database_files immediately after dropping or truncating a large object may not reflect the actual disk space available.

사용 권한Permissions

public 역할의 멤버 자격이 필요합니다.Requires membership in the public role. 자세한 내용은 Metadata Visibility Configuration을 참조하세요.For more information, see Metadata Visibility Configuration.

Examples

다음 문은 각 데이터베이스 파일에 대 한 이름, 파일 크기 및 빈 공간의 크기를 반환 합니다.The following statement returns the name, file size, and the amount of empty space for each database file.

SELECT name, size/128.0 FileSizeInMB,
size/128.0 - CAST(FILEPROPERTY(name, 'SpaceUsed') AS int)/128.0 
   AS EmptySpaceInMB
FROM sys.database_files;

SQL DatabaseSQL Database사용 하는 방법에 대 한 자세한 내용은 SQL 고객 자문 팀 블로그에서 Azure SQL Database V12에서 데이터베이스 크기 확인 을 참조 하세요.For more information when using SQL DatabaseSQL Database, see Determining Database Size in Azure SQL Database V12 on the SQL Customer Advisory Team blog.

참고 항목See Also

데이터베이스 및 파일 카탈로그 뷰(Transact-SQL) Databases and Files Catalog Views (Transact-SQL)
파일 상태 File States
sys.databases(Transact-SQL) sys.databases (Transact-SQL)
sys.master_files (Transact-SQL) sys.master_files (Transact-SQL)
Database Files and Filegroups Database Files and Filegroups
sys.data_spaces (Transact-SQL)sys.data_spaces (Transact-SQL)