Jeśli masz podzieloną na partycje tabelę w SQL Server i chcesz teraz uruchomić zapytanie zawierające numer partycji w każdym wierszu zwróconym przez zapytanie, możesz użyć $PARTITION
funkcja systemu, aby to zrobić.
$PARTITION
funkcja zwraca numer partycji, na który zestaw wartości kolumn partycjonujących zostanie zmapowany dla dowolnej określonej funkcji partycji.
Dlatego możesz go użyć w swoim SELECT
instrukcja zwracająca partycję, do której należy każdy wiersz.
Przykład
Oto przykład do zademonstrowania.
SELECT
CatId,
CatName,
$PARTITION.CatsPartitionFunction(CatId) AS [Partition]
FROM Cats;
Wynik:
+---------+-------------+-------------+ | 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 | +---------+-------------+-------------+
W tym przypadku wiersze są rozdzielone między partycje 2 i 3.
Partycja 1 jest pusta (podobnie jak partycja 4), zgodnie z zaleceniem Microsoftu, aby pozostawić partycje na obu końcach puste, aby wyeliminować przenoszenie danych w przypadku podziału lub łączenia partycji.