sys.master_files (Transact-SQL)
適用於:SQL Server Azure SQL 受控執行個體 Analytics Platform System (PDW)
針對儲存在 master
資料庫中的資料庫,每個檔案各包含一個數據列。 sys.master_files
是單一全系統檢視。
資料行名稱 | 資料類型 | 描述 |
---|---|---|
database_id |
int | 套用此檔案之資料庫的標識碼。 database_id master 資料庫的 一律1 為 。 |
file_id |
int | 資料庫內檔案的標識碼。 主要複本 file_id 一律 1 為 。 |
file_guid |
uniqueidentifier | 檔案的唯一標識碼。NULL = 資料庫已從舊版的 SQL Server 升級(適用於 SQL Server 2005 (9.x) 和舊版。 |
type |
tinyint | 檔案類型:0 = 資料列1 = 記錄2 = FILESTREAM3 = 僅供參考之用識別。 不支援。 我們無法保證未來的相容性。4 = 全文檢索 (早於 SQL Server 2008 的全文檢索目錄 (10.0.x): 在 SQL Server 2008 中升級或建立的全文檢索目錄 (10.0.x) 和更新版本報告檔類型 0 。 |
type_desc |
nvarchar(60) | 檔案類型的描述:ROWS LOG FILESTREAM FULLTEXT (早於 SQL Server 2008 的全文檢索目錄(10.0.x)。 |
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 頁為單位。 對於資料庫快照集,大小會反映快照集可用於檔案的最大空間。 注意:此欄位會填入 FILESTREAM 容器的零。 sys.database_files 查詢目錄檢視,以取得 FILESTREAM 容器的實際大小。 |
max_size |
int | 檔案大小上限,以 8 KB 為單位:-1 = 檔案會成長,直到磁碟已滿為止。268435456 = 記錄檔成長為大小上限 2 TB。注意:使用無限制記錄檔大小報告 -1 升級的資料庫,以取得記錄檔的大小上限。注意:如果 max_size = -1 和 growth = 0 ,則不允許任何成長。 |
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 = 檔案不是疏鬆檔案。如需詳細資訊,請參閱檢視資料庫快照集的疏鬆檔案大小 (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。NULL 除非 state = RESTORING 或 state = RECOVERY_PENDING 。 |
redo_start_fork_guid |
uniqueidentifier | 復原分支的唯一標識碼。 first_fork_guid 還原之下一個記錄備份的 必須符合此值。 這表示容器的目前狀態。 |
redo_target_lsn |
numeric(25,0) | 在此檔案上在線向前復原的 LSN 可以停止。NULL 除非 state = RESTORING 或 state = RECOVERY_PENDING 。 |
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 儲存體 時,系統會使用記憶體位置的存取認證來設定認證。 |
備註
當您卸除或重建大型索引,或卸除或截斷大型數據表時,資料庫引擎 會延遲實際的頁面解除分配及其相關聯的鎖定,直到交易認可之後。 延遲卸除作業不會立即釋放已配置的空間。 因此,卸除或截斷大型物件后立即傳 sys.master_files
回的值可能不會反映可用的實際磁碟空間。
tempdb
針對資料庫,sys.master_files
會顯示初始tempdb
大小。 這些值會作為範本,以在 tempdb
SQL Server 啟動時建立。 tempdb
成長不會反映在此檢視中。 若要取得檔案的 tempdb
目前大小,請改為查詢 tempdb.sys.database_files
。
權限
檢視對應資料欄所需的最小權限為 CREATE DATABASE
、 ALTER ANY DATABASE
或 VIEW ANY DEFINITION
。