SQL Azure はベースは SQL Server ですので、データベースにもファイルグループという概念があるはずです。
ということで調べてみました。
■ファイルグループを調べてみる
SQL Server 2008 R2 の場合は、ファイルグループは[sys.filegroups] から確認をすることができます。
# sys.data_spaces でも確認することができます。
SQL Azure ではこれらのシステムビューはサポートされていません。
どのようなファイルグループが使用されているかを確認するためには、[sys.sp_objectfilegroup] というストアドプロシージャを実行します。
以下のような形式で実行可能です。
DECLARE @object_id int =OBJECT_ID(N’dbo.Table_1′) |
上記のクエリであれば、[dbo.Table_1] がどのようなファイルグループに所属しているかを取得することが可能です。
SQL Azure のユーザーデータベースのテーブルに対して実行した結果がこちらになります。
SQL Azure ではテーブルやインデックスの作成時にファイルグループを指定することはできません。
全テーブル / インデックスは PRIMARY ファイルグループに所属する形になるようですね。
以前投稿した、SQL Azure のデータベースのファイル構成を想像してみる と合わせてみると SQL Azure のデータベースのデータファイルは
- PRIMARY ファイルグループ
- PRIMARY ファイルグループに所属する 10 のデータファイル
で構成されているのかもしれないですね。
今回も可能な範囲で調べてみたという形なのであくまでも [想像] ですが。