sys.master_files (Transact-SQL)

適用対象:SQL Server (サポートされているすべてのバージョン) Azure SQL Managed Instance Analytics Platform System (PDW)

master データベースに格納されているデータベースのファイルごとに 1 行のデータを保持します。 これは、単一のシステム全体のビューです。

列名 データ型 説明
database_id int このファイルが適用されるデータベースの ID。 masterdatabase_idは常に 1 です。
file_id int データベース内のファイルの ID。 プライマリ ファイルの file_id は常に 1 です。
file_guid uniqueidentifier ファイルの一意識別子。

NULL = データベースが以前のバージョンのSQL Serverからアップグレードされました (SQL Server 2005 以前で有効)。
tinyint ファイルの種類です。

0 = 行。

1 = ログ

2 = FILESTREAM

3 = 情報提供のみを目的として識別されます。 サポートされていません。 将来の互換性は保証されません。

4 = フルテキスト (2008 年SQL Serverより前のフルテキスト カタログ、SQL Server 2008 以降でアップグレードまたは作成されたフルテキスト カタログは、ファイルの種類 0 を報告します)。
type_desc nvarchar(60) ファイルの種類の説明:

ROWS

LOG

FILESTREAM

FULLTEXT (2008 年SQL Serverより前のフルテキスト カタログ)。
data_space_id int このファイルが属するデータ領域の ID。 データ領域はファイル グループです。

0 = ログ ファイル
name sysname データベース内のファイルの論理名。
physical_name nvarchar(260) オペレーティング システムのファイル名。
state tinyint ファイルの状態です。

0 = ONLINE

1 = RESTORING

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 ページ単位)。 データベース スナップショットの場合、size は、スナップショットがファイルに対して使用する中で最大の領域を表します。

注: FILESTREAM コンテナーの場合、このフィールドにはゼロが設定されます。 FILESTREAM コンテナーの実際のサイズについて 、sys.database_files カタログ ビューに対してクエリを実行します。
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 = ファイルはスパース ファイルではありません。

詳細については、「 データベース スナップショットのスパース ファイルのサイズの表示 (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。
credential_id int ファイルの credential_id 格納に使用される from sys.credentials 。 たとえば、SQL Serverが Azure 仮想マシンで実行されていて、データベース ファイルが Azure BLOB ストレージに格納されている場合、資格情報はストレージの場所へのアクセス資格情報で構成されます。

注意

大きなインデックスを削除または再構築したり、大きなテーブルを削除または切り捨てたりすると、データベース エンジンは、トランザクションのコミット後まで、実際のページの割り当て解除と関連するロックを延期します。 遅延ドロップ操作では、割り当てられた領域は直ちに解放されません。 そのため、ラージ オブジェクトを削除または切り捨てた後すぐに 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)
データベース ファイルとファイル グループ