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