このトピックでは、Transact-SQL を使用して、SQL Server データベース ファイルがスパース ファイルであることを確認し、実際のサイズと最大サイズを確認する方法について説明します。 NTFS ファイル システムの機能であるスパース ファイルは、SQL Server データベース スナップショットによって使用されます。
注
データベース スナップショットの作成時に、CREATE DATABASE ステートメントのファイル名を使用してスパース ファイルが作成されます。 これらのファイル名は、 physical_name 列の sys.master_files に格納されます。 sys.database_files (ソース データベースでもスナップショット内でも) では、physical_name列には常にソース データベース ファイルの名前が含まれます。
データベース ファイルがスパース ファイルであることを確認する
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 コマンド プロンプトの使用:
Windows dir コマンドを使用します。
スパース ファイルを選択し、Windows で [ファイルの プロパティ ] ダイアログ ボックスを開き、[ サイズ ] の値を確認します。
SQL Server のインスタンスで、次の手順を実行します。
データベース スナップショットのsys.database_filesまたはsys.master_filesからサイズ列を選択します。 サイズ列の値には、スナップショットで使用できる SQL ページの最大領域が反映されます。この値は Windows サイズ フィールドと同じですが、ファイル内の SQL ページの数で表される点が異なります。バイト単位のサイズは次のとおりです。
( number_of_pages * 8192)
こちらもご覧ください
データベース スナップショット (SQL Server)
sys.fn_virtualfilestats (Transact-SQL)
sys.database_files (Transact-SQL)
sys.master_files (Transact-SQL)