SQL Serverにパーティションテーブルがあり、クエリによって返される各行のパーティション番号を含むクエリを実行する場合は、$PARTITION
を使用できます。 それを行うためのシステム機能。
$PARTITION
functionは、指定されたパーティション関数のパーティション列値のセットがマップされるパーティション番号を返します。
したがって、SELECT
で使用できます。 各行が属するパーティションを返すステートメント。
例
実例を示します。
SELECT
CatId,
CatName,
$PARTITION.CatsPartitionFunction(CatId) AS [Partition]
FROM Cats;
結果:
+---------+-------------+-------------+ | CatId | CatName | Partition | |---------+-------------+-------------| | 1 | Meow | 2 | | 2 | Fluffy | 2 | | 3 | Scratch | 2 | | 4 | Bulldog | 2 | | 5 | King George | 2 | | 6 | Sharp | 3 | | 7 | Fritz | 3 | | 8 | Garfield | 3 | | 9 | Boss | 3 | +---------+-------------+-------------+
この場合、行はパーティション2と3に分散されます。
パーティションが分割またはマージされた場合のデータ移動を排除するために、両端のパーティションを空のままにするというMicrosoftの推奨に従って、パーティション1は空です(パーティション4も同様です)。