sys.master_files (Transact-SQL)
適用於:SQL Server
Azure SQL 受控執行個體
Analytics Platform System (PDW)
針對儲存在 master 資料庫中的資料庫,每個檔案各包含一個資料列。 這是單一的全系統檢視。
資料行名稱 | 資料類型 | 描述 |
---|---|---|
database_id | int | 套用此檔案之資料庫的識別碼。 masterdatabase_id一律為 1。 |
file_id | int | 資料庫內檔案的識別碼。 主要file_id一律為 1。 |
file_guid | uniqueidentifier | 檔案的唯一識別碼。 Null = 資料庫已從舊版的 SQL Server 升級(適用于 SQL Server 2005 和更早版本) 。 |
type | tinyint | 檔案類型: 0 = 資料列。 1 = 記錄 2 = FILESTREAM 3 = 僅供參考之用識別。 不支援。 我們無法保證未來的相容性。 4 = 全文檢索 (比 SQL Server 2008 之前的全文檢索目錄 (10.0.x):升級至或建立于 SQL Server 2008 (10.0.x) 或更新版本的全文檢索目錄將會回報檔案類型 0。 |
type_desc | nvarchar(60) | 檔案類型的描述: ROWS 記錄 FILESTREAM FULLTEXT (早于 SQL Server 2008 的全文檢索目錄 (10.0.x)。 |
data_space_id | int | 這個檔案所屬之資料空間的識別碼。 資料空間是檔案群組。 0 = 記錄檔 |
NAME | sysname | 資料庫中檔案的邏輯名稱。 |
physical_name | nvarchar(260) | 作業系統檔案名。 |
state | tinyint | 檔案狀態: 0 = ONLINE 1 = 還原 2 = 復原 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 頁為單位。 對於資料庫快照集,大小會反映快照集可用於檔案的最大空間。 注意:此欄位會填入 FILESTREAM 容器的零。 查詢sys.database_files 目錄檢視,以取得 FILESTREAM 容器的實際大小。 |
max_size | int | 檔案大小上限,以 8 KB 為單位: 0 = 不允許成長。 -1 = 檔案將會成長,直到磁片已滿為止。 268435456 = 記錄檔會成長為大小上限 2 TB。 注意:使用無限制記錄檔大小升級的資料庫將會報告 -1,以取得記錄檔的大小上限。 |
增長 | 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 = 檔案不是疏鬆檔案。 如需詳細資訊,請參閱 檢視資料庫快照集的疏鬆檔案大小(Transact-SQL)。 |
is_percent_growth | bit | 1 = 檔案的成長為百分比。 0 = 頁面的絕對成長大小。 |
is_name_reserved | bit | 1 = 卸載的檔案名可重複使用。 必須先進行記錄備份,才能重複使用名稱(名稱或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。 |
credential_id | int | credential_id sys.credentials 用於儲存檔案的 。 例如,當 SQL Server 在 Azure 虛擬機器上執行,而資料庫檔案會儲存在 Azure Blob 儲存體中時,系統會使用儲存體位置的存取認證來設定認證。 |
注意
當您卸載或重建大型索引,或卸載或截斷大型資料表時,Database Engine 會延遲實際的頁面解除配置及其相關聯的鎖定,直到交易認可之後。 延遲卸載作業不會立即釋放已配置的空間。 因此,卸載或截斷大型物件之後,sys.master_files所傳回的值可能不會反映可用的實際磁碟空間。
注意
針對 tempdb,檢視sys.master_files會顯示初始 tempdb 大小。 這些值會在 SQL Server 啟動時作為 tempdb 建立的範本。 因此,當 tempdb 成長時,它不會反映在檢視中。 若要取得 tempdb 檔案的目前大小,請查詢 tempdb.sys.database_files
。
權限
查看對應資料列所需的最小許可權為 CREATE DATABASE、ALTER ANY DATABASE 或 VIEW ANY DEFINITION。
另請參閱
資料庫和檔案目錄檢視 (Transact-SQL)
檔案狀態
sys.databases (Transact-SQL)
sys.database_files (Transact-SQL)
資料庫檔案與檔案群組