パーティション テーブルとパーティション インデックスの作成

パーティション テーブルまたはパーティション インデックスを作成する手順を次に示します。

  1. パーティション関数を作成し、その関数を使用するテーブルまたはインデックスのパーティション分割方法を指定します。

  2. パーティション構成を作成し、パーティション関数で指定されたパーティションのファイル グループへの配置を指定します。

  3. パーティション構成を使用して、テーブルまたはインデックスを作成します。

パーティション関数の作成

パーティション関数は、テーブルまたはインデックスのパーティション分割方法を指定します。この関数は、1 セットのパーティションにドメインをマップします。パーティション関数を作成するには、パーティションの数、パーティション分割列、および各パーティションのパーティション列の値の範囲を指定します。指定できるパーティション分割列は 1 列のみであることに注意してください。

パーティション関数を計画する方法の詳細については、「パーティション テーブルとパーティション インデックスに関するプランニング ガイドライン」を参照してください。

パーティション分割列の規則

パーティション関数に参加する計算列は、明示的に PERSISTED とマークされている必要があります。

timestamp 型を除き、インデックス列として使用できるすべてのデータ型をパーティション分割列として使用できます。ntext 型、text 型、image 型、xml 型、varchar(max) 型、nvarchar(max) 型、および varbinary(max) 型は指定できません。また、Microsoft .NET Framework 共通言語ランタイム (CLR) ユーザー定義型と別名データ型の列も指定できません。

パーティション関数を作成するには

パーティション構成の作成

パーティション構成により、パーティション関数で生成されたパーティションが、定義したファイル グループのセットにマップされます。

パーティション構成を作成する際には、パーティション関数のパラメータに基づいて、テーブル パーティションがマップされるファイル グループを定義します。生成された数のパーティションを保持するのに十分なファイル グループを指定する必要があります。すべてのパーティションを個別のファイル グループにマップするか、いくつかのパーティションを 1 つのファイル グループにマップするか、すべてのパーティションを 1 つのファイル グループにマップすることを指定できます。また、後でパーティションを追加する場合は、"未割り当て" のファイル グループを追加で指定することもできます。この場合、SQL Server により、いずれかのファイル グループが NEXT USED プロパティでマークされます。これは、そのファイル グループで、次に追加されるパーティションを保持することを意味します。

パーティション構成で使用できるパーティション関数は 1 つのみです。ただし、1 つのパーティション関数を複数のパーティション構成に参加させることができます。

パーティション構成を作成するには

パーティション テーブルまたはパーティション インデックスの作成

テーブルまたはインデックスを作成時にパーティション分割するには、CREATE TABLE ステートメントまたは CREATE INDEX ステートメントで次の項目を指定します。

  • テーブルがパーティションをファイル グループにマップするために使用するパーティション構成。

  • テーブルをパーティション分割する列 (パーティション分割列)。パーティション分割列のデータ型、長さ、および有効桁数は、パーティション構成が使用しているパーティション関数で指定されたものと一致している必要があります。計算される列は、PERSISTED として指定される必要があります。

パーティション構成を使用するテーブルを作成するには

パーティション構成を使用するインデックスを作成するには