データベース スナップショットのスパース ファイルのサイズを表示する方法 (Transact-SQL)

このトピックでは、Transact-SQL を使用して、SQL Server データベース ファイルがスパース ファイルであることを確認する方法と、その実サイズおよび最大サイズを調べる方法について説明します。 NTFS ファイル システムの機能であるスパース ファイルは、SQL Server データベース スナップショットによって使用されます。

注意

スパース ファイルは、データベース スナップショットの作成時に CREATE DATABASE ステートメント内のファイル名を使用して作成されます。 これらのファイル名は、sys.master_filesphysical_name 列に格納されます。 ソース データベース内とスナップショット内のいずれであっても、sys.database_filesphysical_name 列には、ソース データベース ファイルの名前が必ず格納されます。

データベース ファイルがスパース ファイルであることを確認する

  1. SQL Server のインスタンスで次の操作を実行する:

    データベース スナップショットの sys.database_files または sys.master_files から is_sparse 列を選択します。 次に示すように、この値からファイルがスパース ファイルであるかどうかがわかります。

    1 = ファイルはスパース ファイルです。

    0 = ファイルはスパース ファイルではありません。

スパース ファイルの実際のサイズを調べる

注意

スパース ファイルは 64 KB 単位で大きくなるので、ディスク上のスパース ファイルのサイズは常に 64 KB の倍数になります。

スナップショットの各スパース ファイルが現在ディスク上で使用しているバイト数を表示するには、SQL Server sys.dm_io_virtual_file_stats 動的管理ビューの size_on_disk_bytes 列をクエリします。

スパース ファイルが使用するディスク領域を表示するには、Microsoft Windows でファイルを右クリックして [プロパティ] をクリックし、[ディスク上のサイズ] の値を確認します。

スパース ファイルの最大サイズを調べる

スパース ファイルの最大サイズは、スナップショット作成時点での対応するソース データベース ファイルのサイズです。 このサイズを調べるには、次のいずれかを実行します。

  • Windows コマンド プロンプトを使用する:

    1. Windows の dir コマンドを使用します。

    2. スパース ファイルを選択し、ファイルの [プロパティ] ダイアログ ボックスを開き、[サイズ] の値を確認します。

  • SQL Server のインスタンスで次の操作を実行する:

    データベース スナップショットの sys.database_files または sys.master_files から size 列を選択します。 size 列の値には、スナップショットが使用できる最大領域 (SQL ページ数) が反映されます。この値は、Windows の [サイズ] フィールドに相当しますが、ファイル内の SQL ページ数で表されている点が異なります。バイト単位のサイズは次のように表されます。

    ( number_of_pages * 8192)

関連項目

参照

sys.fn_virtualfilestats (Transact-SQL)

sys.database_files (Transact-SQL)

sys.master_files (Transact-SQL)

概念

データベース スナップショット (SQL Server)