sys.database_files (Transact-SQL)
依照資料庫本身的儲存情況,針對資料庫的每個檔案,各包含一個資料列。這是針對個別資料庫的檢視。
資料行名稱
資料類型
描述
file_id
int
資料庫內的檔案識別碼。
file_guid
uniqueidentifier
檔案的 GUID。
NULL = 資料庫從舊版 Microsoft SQL Server 升級。
type
tinyint
檔案類型:
0 = 資料列
1 = 記錄
2 = 保留供日後使用。
3 = 保留供日後使用。
4 = 全文檢索
type_desc
nvarchar(60)
檔案類型的描述:
ROWS
LOG
FULLTEXT
data_space_id
int
這個檔案所屬的資料空間識別碼。資料空間是一個檔案群組。
0 = 記錄檔。
name
sysname
資料庫中之檔案的邏輯名稱。
physical_name
nvarchar(260)
作業系統檔案名稱。
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
目前的檔案大小 (以 8 KB 頁數為單位)。
0 = 不適用
如果是資料庫快照集,size 會反映快照集可以使用的最大檔案空間。
max_size
int
最大檔案大小 (以 8 KB 頁面為單位):
0 = 不允許任何成長。
-1 = 檔案會成長到磁碟已滿。
268435456 = 記錄檔可以成長到最大 2 TB 的大小。
附註:
以無限記錄檔大小來升級的資料庫,針對最大記錄檔大小,它會報告 -1。
growth
int
0 = 檔案是固定大小,不會成長。
>0 = 檔案會自動成長。
如果 is_percent_growth = 0,成長遞增是以 8 KB 頁面來表示,會捨入到最接近的 64 KB。
如果 is_percent_growth = 1,便會以整數百分比的方式來表現成長遞增。
is_media_read_only
bit
1 = 檔案在唯讀媒體中。
0 = 檔案在讀寫媒體中。
is_read_only
bit
1 = 檔案標示為唯讀。
0 = 檔案標示為可讀寫。
is_sparse
bit
1 = 檔案是疏鬆檔案。
0 = 檔案不是疏鬆檔案。
如需詳細資訊,請參閱<瞭解資料庫快照集內的疏鬆檔案大小>。
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
datetime
對應於 differential_base_lsn 的時間。
redo_start_lsn
numeric(25,0)
必須啟動下一次向前復原的 LSN。
除非 state = RESTORING 或 state = RECOVERY_PENDING,否則,便是 NULL。
redo_start_fork_guid
uniqueidentifier
復原分岔的唯一識別碼。下一個還原的記錄備份之 first_fork_guid 必須符合這個值。這代表檔案目前的狀態。
redo_target_lsn
numeric(25,0)
能夠停止這個檔案的線上向前復原的 LSN。
除非 state = RESTORING 或 state = RECOVERY_PENDING,否則,便是 NULL。
redo_target_fork_guid
uniqueidentifier
能夠復原檔案的復原分岔。與 redo_target_lsn 形成一組。
backup_lsn
numeric(25,0)
檔案最近的資料或差異備份的 LSN。
附註: |
---|
當您卸除或重建大型索引時,或卸除或截斷大型資料表時,Database Engine 會延遲取消配置實際的頁面及其相關聯鎖定,直到認可交易之後。延遲的卸除作業並不會立即釋出已配置的空間。因此,在卸除或截斷大型物件之後,sys.database_files 傳回的值不一定能反映實際可用的磁碟空間。如需有關延遲配置的詳細資訊,請參閱<卸除和重建大型物件>。 |
請參閱
參考
資料庫和檔案目錄檢視 (Transact-SQL)
sys.databases (Transact-SQL)
sys.master_files (Transact-SQL)
sys.data_spaces (Transact-SQL)