sys.database_files (Transact-SQL)

データベース自体に保存されているデータベースのファイルごとに 1 行のデータを格納します。これはデータベース単位のビューです。

列名

データ型

説明

file_id

int

データベース内にあるファイルの ID。

file_guid

uniqueidentifier

ファイルの GUID。

NULL = データベースは SQL Server の旧バージョンからアップグレードされています。

type

tinyint

ファイルの種類。

0 = 行 (SQL Server 2008 用にアップグレードまたは作成されたフルテキスト カタログのファイルが含まれます。)

1 = ログ

2 = FILESTREAM

3 = 単に情報を示すためだけに特定されます。サポートされていません。将来の互換性は保証されません。

4 = フルテキスト (SQL Server 2008 より前のフルテキスト カタログです。SQL Server 2008 用にアップグレードまたは作成されたフルテキスト カタログの場合、ファイルの種類は 0 で報告されます。)

type_desc

nvarchar(60)

ファイルの種類の説明。

ROWS (SQL Server 2008 用にアップグレードまたは作成されたフルテキスト カタログのファイルが含まれます。)

LOG

FILESTREAM

FULLTEXT (SQL Server 2008 より前のフルテキスト カタログです。)

data_space_id

int

値は 0 または 1 以上になります。値が 0 の場合はデータベース ログ ファイルを表し、値が 1 以上の場合はこのデータ ファイルが格納されているファイル グループの ID を表します。

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。

注意

大きなインデックスを削除または再構成した場合や、大きなテーブルを削除するか切り捨てた場合、データベース エンジンでは実際のページ割り当て解除とそれに関連するロックが、トランザクションがコミットされるまで延期されます。削除操作が延期された場合、割り当てられた領域は、すぐには解放されません。このため、ラージ オブジェクトを削除するか切り捨てた直後に sys.database_files を実行して返された値は、実際に使用できるディスク領域を反映していないことがあります。遅延割り当ての詳細については、「ラージ オブジェクトの削除と再構築」を参照してください。

権限

public ロールのメンバシップが必要です。詳細については、「メタデータ表示の構成」を参照してください。