少なくとも、SQLServerデータベースには2つのオペレーティングシステムファイルがあります。データファイルとログファイル。
データファイルには、データベース内の実際のデータと、テーブル、インデックス、ストアドプロシージャ、ビューなどのオブジェクトが保持されます。ログファイルには、データベース内のすべてのトランザクションを回復するために必要な情報が含まれています。
デフォルトのオプションを使用してデータベースを作成すると、これらのファイルの両方が作成されます。これらのファイルは、プライマリファイルグループに作成されます。このファイルグループには、プライマリデータファイルと、他のファイルグループに配置されていないセカンダリファイルが含まれています。したがって、プライマリファイルグループはデフォルトのファイルグループです(ALTER DATABASE
を使用して変更された場合を除く) ステートメント)。
複数のデータファイルを作成する場合、それらをユーザー定義のファイルグループにグループ化するオプションもあります。これにより、作成した独自のファイルグループにファイルを論理的にグループ化できます。このファイルグループは、プライマリファイルグループに加えて存在します。データベースオブジェクトはプライマリファイルグループ内に残ります。
この記事では、ユーザー定義のファイルグループを作成し、それにデータファイルを追加する方法を示します。
例
T-SQLを使用して既存のデータベースにファイルグループを追加する例を次に示します。
USE master GO ALTER DATABASE Solutions ADD FILEGROUP Solutions1Filegroup1; GO ALTER DATABASE Solutions ADD FILE ( NAME = Solutions_dat_2, FILENAME = 'D:\mssql\data\Solutions_dat2.ndf', SIZE = 10MB, MAXSIZE = 100MB, FILEGROWTH = 5% ), ( NAME = Solutions_dat_3, FILENAME = 'D:\mssql\data\Solutions_dat3.ndf', SIZE = 10MB, MAXSIZE = 100MB, FILEGROWTH = 5% ) TO FILEGROUP Solutions1Filegroup1; GO
この例では、Solutions1Filegroup1
というファイルグループを作成します 2つのデータファイルを追加します。論理名、物理ファイルパス、サイズなど、ファイルごとに通常のものを指定します。
この例の前提は、Solutions_dat_1
というデータファイルがすでに存在することです。 。したがって、これらのファイルには同じ名前を付けますが、各ファイルの番号を増やすだけです。
また、この例では、ファイルグループに多くの1つにすぎないかのように名前を付けています。必要に応じて複数のファイルグループを作成できます。作成する場合は、各ファイルグループを簡単に区別できる命名規則が必要になる可能性があります。
ファイルグループを表示する
sys.filegroups
にクエリを実行すると、特定のデータベースのファイルグループを表示できます。 カタログビュー。
例:
USE Solutions; SELECT name, type_desc FROM sys.filegroups;
結果:
name type_desc -------------------- -------------- PRIMARY ROWS_FILEGROUP Solutions1Filegroup1 ROWS_FILEGROUP
必要に応じて、アスタリスク(*)を使用してすべての行を返すこともできます。