sys.master_files (Transact-SQL)
依照 master 資料庫的儲存情況,資料庫的每個檔案都會有一個資料列。 這是單一全系統的檢視。
適用於:SQL Server (SQL Server 2008 至目前版本)。 |
資料行名稱 |
資料類型 |
描述 |
---|---|---|
database_id |
int |
套用這個檔案的資料庫識別碼。 master database_id 永遠為 1。 |
file_id |
int |
資料庫內的檔案識別碼。 主要 file_id 永遠為 1。 |
file_guid |
uniqueidentifier |
檔案的唯一識別碼。 NULL = 資料庫從舊版 SQL Server 升級。 |
type |
tinyint |
檔案類型: 0 = 資料列 1 = 記錄 2 = FILESTREAM 3 = 僅供參考之用。不支援。我們無法保證未來的相容性。 4 = 全文檢索 (早於 SQL Server 2008 的全文檢索目錄;已升級為 SQL Server 2008 或更高版本或是以此版本建立的全文檢索目錄將報告檔案類型 0)。 |
type_desc |
nvarchar(60) |
檔案類型的描述: ROWS LOG FILESTREAM FULLTEXT (早於 SQL Server 2008 的全文檢索目錄)。 |
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 頁面為單位)。 如果是資料庫快照集,size 會反映快照集可以使用的最大檔案空間。 注意 FILESTREAM 容器的這個欄位會填入零。查詢 sys.database_files 目錄檢視中 FILESTREAM 容器的實際大小。 |
max_size |
int |
最大檔案大小 (以 8 KB 頁面為單位): 0 = 不允許任何成長。 -1 = 檔案會成長到磁碟已滿。 268435456 = 記錄檔可以成長到最大 2 TB 的大小。 注意 以無限記錄檔大小來升級的資料庫,針對最大記錄檔大小,它會報告 -1。 |
growth |
int |
0 = 檔案是固定大小,不會成長。 >0 = 檔案會自動成長。 如果 is_percent_growth = 0,成長遞增是以 8KB 頁面為單位,並且捨入到最接近的 64 KB。 如果 is_percent_growth = 1,便會以整數百分比的方式來表現成長遞增。 |
is_media_read_onlyF |
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) 才能供新檔案名稱重複使用。 0 = 檔案名稱無法重複使用。 |
create_lsn |
numeric(25,0) |
建立檔案的記錄序號 (LSN)。 |
drop_lsn |
numeric(25,0) |
卸除檔案的 LSN。 |
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.master_files 立即傳回的值不一定能反映實際可用的磁碟空間。
權限
查看對應資料列時所需的最低權限為 CREATE DATABASE、ALTER ANY DATABASE 或 VIEW ANY DEFINITION。
請參閱
參考
sys.database_files (Transact-SQL)