Pokud máte na serveru SQL rozdělenou tabulku a nyní chcete spustit dotaz, který obsahuje číslo oddílu na každém řádku vráceném dotazem, můžete použít $PARTITION systémová funkce k tomu.
$PARTITION funkce vrací číslo oddílu, do kterého by byla namapována sada hodnot rozdělovacího sloupce pro jakoukoli zadanou funkci oddílu.
Můžete jej tedy použít ve svém SELECT příkaz vrátit oddíl, do kterého každý řádek patří.
Příklad
Zde je příklad k demonstraci.
SELECT
CatId,
CatName,
$PARTITION.CatsPartitionFunction(CatId) AS [Partition]
FROM Cats; Výsledek:
+---------+-------------+-------------+ | 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 | +---------+-------------+-------------+
V tomto případě jsou řádky rozděleny mezi oddíly 2 a 3.
Oddíl 1 je prázdný (stejně jako oddíl 4), v souladu s doporučením společnosti Microsoft ponechat oddíly na obou koncích prázdné, aby se eliminoval přesun dat v případě rozdělení nebo sloučení oddílů.