Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Baza danych SQL w Microsoft Fabric
Zwraca statystyki dostępu do danych niższego poziomu, blokowania i zatrzasania dla każdej partycji tabeli lub indeksu w bazie danych.
Transact-SQL konwencje składni
Składnia
sys.dm_db_index_operational_stats (
{ database_id | NULL | 0 | DEFAULT }
, { object_id | NULL | 0 | DEFAULT }
, { index_id | 0 | NULL | -1 | DEFAULT }
, { partition_number | NULL | 0 | DEFAULT }
)
Arguments
{ database_id | NULL | 0 | DEFAULT }
Identyfikator bazy danych.
database_id jest smallint. Poprawne dane wejściowe to numer ID bazy danych, NULL, 0, lub DEFAULT. Wartość domyślna to 0.
NULL, 0i DEFAULT są równoważnymi wartościami w tym kontekście.
Określ NULL, aby zwrócić informacje dla wszystkich baz danych w wystąpieniu programu SQL Server. Jeśli określisz NULL dla database_id, należy również określić NULL dla object_id, index_idi partition_number.
Można określić wbudowaną funkcję DB_ID.
{ object_id | NULL | 0 | DEFAULT }
Identyfikator obiektu tabeli lub widoku indeks jest włączony. object_id jest int.
Poprawne dane wejściowe to numer ID tabeli i widok, NULL, 0, lub DEFAULT. Wartość domyślna to 0.
NULL, 0i DEFAULT są równoważnymi wartościami w tym kontekście.
Określ NULL, aby zwrócić informacje dla wszystkich tabel i widoków w określonej bazie danych. Jeśli określisz NULL dla object_id, należy również określić NULL dla index_id i partition_number.
{ index_id | 0 | NULL | -1 | DEFAULT }
Identyfikator indeksu.
index_id to inteligencja. Poprawne wejścia to numer ID indeksu, 0 jeśli object_id jest kopcem, NULL, -1, lub DEFAULT. Wartość domyślna to -1.
NULL, -1i DEFAULT są równoważnymi wartościami w tym kontekście.
Określ NULL, aby zwrócić informacje dla wszystkich indeksów dla tabeli podstawowej lub widoku. Jeśli określisz NULL dla index_id, należy również określić NULL dla partition_number.
{ partition_number | NULL | 0 | DEFAULT }
Numer partycji w obiekcie.
partition_number jest int. Prawidłowe dane wejściowe to partition_number indeksu lub sterta, NULL, 0lub DEFAULT. Wartość domyślna to 0.
NULL, 0i DEFAULT są równoważnymi wartościami w tym kontekście.
Określ NULL tak, aby zwracała informacje dla wszystkich partycji indeksu lub kopca.
partition_number jest oparty na 1. Indeks niepartycyjny lub sterta ma partition_number ustawioną na 1.
Zwrócona tabela
| Nazwa kolumny | Typ danych | Opis |
|---|---|---|
database_id |
smallint | Identyfikator bazy danych. W usłudze Azure SQL Database wartości są unikatowe w ramach pojedynczej bazy danych lub elastycznej puli, ale nie w obrębie serwera logicznego. |
object_id |
int | Identyfikator tabeli lub widoku. Więcej informacji można znaleźć w sys.objects. |
index_id |
int | Identyfikator indeksu lub sterta. Więcej informacji można znaleźć na sys.indexes. |
partition_number |
int | 1 numer partycji w indeksie lub stercie. Więcej informacji można znaleźć w sys.partitions. |
hobt_id |
bigint | Identyfikator sterta danych lub zestawu wierszy drzewa B, który śledzi dane wewnętrzne dla indeksu magazynu kolumn.NULL - To nie jest wewnętrzny zestaw wierszy w columnstore.Aby uzyskać więcej informacji, zobacz sys.internal_partitions. |
leaf_insert_count |
bigint | Skumulowana liczba wstawień na poziomie liścia. Aby uzyskać więcej informacji na temat poziomów indeksów, zobacz Architektura indeksu i przewodnik projektowania. |
leaf_delete_count |
bigint | Skumulowana liczba usuniętych poziomów liścia.
leaf_delete_count jest zwiększana tylko dla usuniętych rekordów, które nie są oznaczone jako duch jako pierwsze. W przypadku usuniętych rekordów, które są najpierw upiorne, leaf_ghost_count jest zwiększane. |
leaf_update_count |
bigint | Skumulowana liczba aktualizacji na poziomie liścia. |
leaf_ghost_count |
bigint | Skumulowana liczba wierszy na poziomie liścia, które są oznaczone jako usunięte, ale nie zostały jeszcze usunięte. To liczenie nie obejmuje rekordów natychmiast usuwanych bez oznaczenia jako duch. Wątek oczyszczania usuwa wiersze duchów w ustalonych odstępach czasu. Ta wartość nie obejmuje wierszy duchów, które są zachowywane z powodu nieopłaconej transakcji snapshot. |
nonleaf_insert_count |
bigint | Skumulowana liczba wstawek powyżej poziomu liścia. Dotyczy tylko indeksów drzewa B. 0 dla indeksów heaps lub columnstore. |
nonleaf_delete_count |
bigint | Skumulowana liczba usuwań powyżej poziomu liścia. Dotyczy tylko indeksów drzewa B. 0 dla indeksów heaps lub columnstore. |
nonleaf_update_count |
bigint | Skumulowana liczba aktualizacji powyżej poziomu liścia. Dotyczy tylko indeksów drzewa B. 0 dla indeksów heaps lub columnstore. |
leaf_allocation_count |
bigint | Skumulowana liczba alokacji stron na poziomie liścia w indeksie lub stercie. W przypadku indeksu alokacja strony odpowiada podziałowi strony. |
nonleaf_allocation_count |
bigint | Skumulowana liczba alokacji stron spowodowanych podziałami stron powyżej poziomu liścia. Dotyczy tylko indeksów drzewa B. 0 dla indeksów heaps lub columnstore. |
leaf_page_merge_count |
bigint | Skumulowana liczba scalanych stron na poziomie liścia. Zawsze 0 dla indeksów magazynu kolumn. |
nonleaf_page_merge_count |
bigint | Skumulowana liczba stron scala się powyżej poziomu liścia. Dotyczy tylko indeksów drzewa B. 0 dla indeksów heaps lub columnstore. |
range_scan_count |
bigint | Skumulowana liczba skanowań zakresów i tabel rozpoczętych na indeksie lub stercie. |
singleton_lookup_count |
bigint | Skumulowana liczba pobierania pojedynczych wierszy z indeksu lub sterta. |
forwarded_fetch_count |
bigint | Liczba wierszy pobranych za pośrednictwem rekordu przekazującego. Dotyczy tylko szesnastek, 0 dla indeksów drzewa B. |
lob_fetch_in_pages |
bigint | Skumulowana liczba stron dużych obiektów (LOB) pobranych z LOB_DATA jednostki alokacji. Strony te zawierają dane zapisane w kolumnach typu tekst, ntext, image, varchar(max),nvarchar(max),varbinary(max),xml oraz json. Aby uzyskać więcej informacji, zobacz Typy danych. |
lob_fetch_in_bytes |
bigint | Skumulowana liczba pobranych bajtów danych BIZNESOWYCH. |
lob_orphan_create_count |
bigint | Skumulowana liczba oddzielonych wartości LOB utworzonych dla operacji zbiorczych. Dotyczy tylko indeksów klastrowanych heaps i B-tree, 0 dla indeksów nieklastrowanych i indeksów magazynu kolumn. |
lob_orphan_insert_count |
bigint | Skumulowana liczba oddzielonych wartości LOB wstawionych podczas operacji zbiorczych. Dotyczy tylko indeksów klastrowanych heaps i B-tree, 0 dla indeksów nieklastrowanych i indeksów magazynu kolumn. |
row_overflow_fetch_in_pages |
bigint | Skumulowana liczba stron danych przepełnienia wiersza pobranych z ROW_OVERFLOW_DATA jednostki alokacji.Te strony zawierają dane przechowywane w kolumnach typu varchar(n), nvarchar(n), varbinary(n)i sql_variant dla dużych wierszy. |
row_overflow_fetch_in_bytes |
bigint | Skumulowana liczba pobranych bajtów danych przepełnienia wiersza. |
column_value_push_off_row_count |
bigint | Skumulowana liczba wartości kolumn dla danych BIZNESOWYCH i danych przepełnienia wierszy, które są wypychane poza wierszem, aby wstawić lub zaktualizować wiersz pasujący do strony. |
column_value_pull_in_row_count |
bigint | Skumulowana liczba wartości kolumn dla danych BIZNESOWYCH i danych przepełnienia wierszy, które są pobierane w wierszu. Dzieje się tak, gdy operacja aktualizacji zwalnia miejsce w rekordzie i umożliwia ściąganie co najmniej jednej wartości poza wierszem z LOB_DATA jednostki alokacji lub ROW_OVERFLOW_DATA do IN_ROW_DATA jednostki alokacji. |
row_lock_count |
bigint | Żądana skumulowana liczba żądań blokad wierszy. |
row_lock_wait_count |
bigint | Skumulowana liczba przypadków oczekiwania aparatu bazy danych na blokadę wiersza. |
row_lock_wait_in_ms |
bigint | Łączna liczba milisekund oczekiwania aparatu bazy danych na blokadę wiersza. |
page_lock_count |
bigint | Żądana skumulowana liczba żądań blokad stron. |
page_lock_wait_count |
bigint | Skumulowana liczba przypadków oczekiwania aparatu bazy danych na blokadę strony. |
page_lock_wait_in_ms |
bigint | Łączna liczba milisekund oczekiwania aparatu bazy danych na blokadę strony. |
index_lock_promotion_attempt_count |
bigint | Skumulowana liczba prób eskalacji blokad przez aparat bazy danych. |
index_lock_promotion_count |
bigint | Skumulowana liczba przypadków eskalacji blokad przez aparat bazy danych. |
page_latch_wait_count |
bigint | Skumulowana liczba przypadków oczekiwania aparatu bazy danych na uzyskanie zatrzaśnięć. |
page_latch_wait_in_ms |
bigint | Skumulowana liczba milisekund, w których aparat bazy danych czekał na uzyskanie zatrzasku. |
page_io_latch_wait_count |
bigint | Skumulowana liczba przypadków oczekiwania aparatu bazy danych na zatrzaśniętym we/wy strony. |
page_io_latch_wait_in_ms |
bigint | Skumulowana liczba milisekund oczekiwania aparatu bazy danych na zatrzask we/wy strony. |
tree_page_latch_wait_count |
bigint | Podzbiór zawiera page_latch_wait_count tylko strony drzewa B najwyższego poziomu. Zawsze 0 dla stosu lub indeksu magazynu kolumn. |
tree_page_latch_wait_in_ms |
bigint | Podzbiór zawiera page_latch_wait_in_ms tylko strony drzewa B najwyższego poziomu. Zawsze 0 dla stosu lub indeksu magazynu kolumn. |
tree_page_io_latch_wait_count |
bigint | Podzbiór zawiera page_io_latch_wait_count tylko strony drzewa B najwyższego poziomu. Zawsze 0 dla stosu lub indeksu magazynu kolumn. |
tree_page_io_latch_wait_in_ms |
bigint | Podzbiór zawiera page_io_latch_wait_in_ms tylko strony drzewa B najwyższego poziomu. Zawsze 0 dla stosu lub indeksu magazynu kolumn. |
page_compression_attempt_count |
bigint | Liczba stron, które zostały ocenione pod kątem PAGE kompresji poziomu dla konkretnej partycji tabeli, indeksu lub widoku indeksowego. Zawiera strony, które nie zostały skompresowane, ponieważ nie udało się osiągnąć znaczących oszczędności. Zawsze 0 dla indeksów magazynu kolumn. |
page_compression_success_count |
bigint | Liczba stron danych skompresowanych przez kompresję PAGE dla określonych partycji tabeli, indeksu lub widoku indeksowego. Zawsze 0 dla indeksów magazynu kolumn. |
version_generated_inrow |
bigint | Skumulowana liczba wersji w wierszu z ładunkiem wygenerowanym w stercie lub drzewie B dla operacji aktualizacji, scalania lub wstawiania nad ghostem. Wersja w wierszu przechowuje stary obraz wiersza (lub różnicę) bezpośrednio w wierszu, unikając podróży do magazynu wersji. Ta liczba jest nadzbiorem zawierającym wersje zliczane przez insert_over_ghost_version_inrow. Aby uzyskać więcej informacji na temat wersji w wierszach i poza wierszami, zobacz Spacja używana przez magazyn wersji trwałych (PVS). |
version_generated_offrow |
bigint | Skumulowana liczba wersji wypychanych do magazynu poza wierszem dla sterty, drzewa B-tree lub usuwania LOB, aktualizacji, scalania lub operacji insert-over-ghost. Wersja poza wierszem jest generowana, gdy stary obraz wiersza nie może być przechowywany w rzędzie. Ta liczba jest nadzbiorem zawierającym wersje zliczane przez ghost_version_offrow i insert_over_ghost_version_offrow. |
ghost_version_inrow |
bigint | Skumulowana liczba przypadków usunięcia lub aktualizacji (wykonywanej jako usunięcie, po której następuje wstawianie) oznaczono istniejący wiersz jako duch z informacjami o wersji w wierszu. Wersja w wierszu przechowuje tylko znacznik czasu transakcji i ładunek o zerowej długości, dzięki czemu cofnięcie usunięcia wymaga tylko unghosting wiersza. |
ghost_version_offrow |
bigint | Skumulowana liczba przypadków usunięcia lub aktualizacji (wykonywanej jako usunięcie, po której następuje wstawianie) wypchnęła istniejące dane wiersza lub kolumny LOB do magazynu poza wierszem, pozostawiając wycinkę w wierszu na potrzeby informacji o wersji. Ten licznik jest zwiększany wraz z operacjami version_generated_offrow duchów. |
insert_over_ghost_version_inrow |
bigint | Skumulowana liczba wersji w wierszu z ładunkiem wygenerowanym dla operacji wstawiania drzewa B.over-ghost. Wstaw over-ghost występuje, gdy nowy wiersz zostanie wstawiony do miejsca wcześniej upiornego rekordu, albo z jawnego usunięcia, a następnie wstawiania, albo z aktualizacji lub scalania zaimplementowanego jako usunięcie, po którym następuje wstawianie. Ten licznik jest podzbiorem .version_generated_inrow |
insert_over_ghost_version_offrow |
bigint | Skumulowana liczba razy, gdy istniejący wiersz duchów został wypchnięty do magazynu poza wierszem podczas operacji wstawiania drzewa B,over-ghost, pozostawiając wycinkę w nowo wstawionym wierszu na potrzeby informacji o wersji. Ten licznik jest podzbiorem .version_generated_offrow |
compaction_attempt_count |
bigint | Skumulowana liczba prób auto-zagęszczania indeksu. Więcej informacji można znaleźć w artykule Automatyczna kompresja indeksu (podgląd). |
compaction_complete_count |
bigint | Skumulowana liczba ukończonych automatycznych kompakcji indeksowych. |
compaction_skip_count |
bigint | Skumulowana liczba automatycznych kompakcji pomijanych indeksów. Więcej informacji o przyczynach pomijania można znaleźć w artykule Użyj rozszerzonego zdarzenia do monitorowania statystyk zagęszczania. |
compaction_ineligible_count |
bigint | Łączna liczba prób zagęszczania została pominięta, ponieważ strona nie kwalifikowała się do automatycznego zagęszczania. |
compaction_failure_count |
bigint | Łączna liczba nieudanych prób zagęszczenia. |
compaction_row_move_count |
bigint | Łączna liczba wierszy przeniesionych z jednej strony na drugą w ramach automatycznej kompresji. |
compaction_page_deallocation_count |
bigint | Łączna liczba stron, które zostały zdelokowane po przeniesieniu wszystkich wierszy na inną stronę. |
Note
W dokumentacji jest zwykle używany termin B-tree w odniesieniu do indeksów. W indeksach typu rowstore silnik bazy danych implementuje drzewo B+. Nie dotyczy to indeksów magazynu kolumn ani indeksów w tabelach zoptymalizowanych pod kątem pamięci. Aby uzyskać więcej informacji, zobacz architekturę i przewodnik projektowania indeksu SQL Server i Azure SQL.
Uwagi
Ta funkcja nie zwraca informacji o indeksach w tabelach zoptymalizowanych pod kątem pamięci. Aby uzyskać informacje o indeksach w tablicach zoptymalizowanych pod pamięć, zobacz sys.dm_db_xtp_index_stats.
Ta funkcja nie akceptuje skorelowanych parametrów z CROSS APPLY i OUTER APPLY.
sys.dm_db_index_operational_stats Służy do śledzenia statystyk operacji odczytu i zapisu danych oraz blokowania, zatrzaśnięcia strony oraz statystyk zatrzaśnięcia we/wy strony dla tabeli, indeksu lub partycji. Możesz zidentyfikować tabele, indeksy i partycje, które napotykają znaczną aktywność lub rywalizację.
Statystyki są udostępniane na poziomie partycji i są addytywne. Oznacza to, że można uzyskać statystyki na poziomie indeksu lub na poziomie tabeli, pisząc zapytanie agregacji w języku T-SQL. Aby uzyskać więcej informacji, zobacz Skanowanie indeksów i szuka wszystkich przykładów tabel .
Aby analizować statystyki operacji odczytu i zapisu dla tabeli, indeksu lub partycji, użyj następujących kolumn:
leaf_insert_countleaf_delete_countleaf_update_countleaf_ghost_countrange_scan_countsingleton_lookup_count
Aby zidentyfikować rywalizację o zatrzask, użyj następujących kolumn:
page_latch_wait_countpage_latch_wait_in_ms
Aby zidentyfikować rywalizację o blokadę, użyj następujących kolumn:
row_lock_countpage_lock_countrow_lock_wait_in_mspage_lock_wait_in_ms
Aby przeanalizować fizyczne statystyki we/wy, użyj następujących kolumn:
page_io_latch_wait_countpage_io_latch_wait_in_ms
Uwagi w kolumnie
Wartości w kolumnach lob_fetch_in_pages i lob_fetch_in_bytes mogą być większe niż zero dla indeksów nieklastrowanych, które zawierają co najmniej jedną kolumnę LOB jako dołączone kolumny. Aby uzyskać więcej informacji, zobacz Tworzenie indeksów z dołączonymi kolumnami. Podobnie wartości w kolumnach row_overflow_fetch_in_pages i row_overflow_fetch_in_bytes mogą być większe niż 0 dla indeksów nieklastrowanych, jeśli indeks zawiera duże wiersze.
Jak są resetowane liczniki w pamięci podręcznej metadanych
Dane zwrócone przez sys.dm_db_index_operational_stats program istnieją tylko tak długo, jak obiekt pamięci podręcznej metadanych reprezentujący stertę lub drzewo B jest dostępne. Te dane nie są trwałe. Oznacza to, że nie możesz użyć tych liczników do jednoznacznego określenia, czy indeks został użyty, ani kiedy ostatnio był używany. Zamiast tego użyj sys.dm_db_index_usage_stats.
Wartości każdej kolumny liczbowej są ustawiane na zero, gdy metadane sterta lub drzewo B są wprowadzane do pamięci podręcznej metadanych. Statystyki są gromadzone do momentu usunięcia obiektu pamięci podręcznej z pamięci podręcznej metadanych. Aktywna sterta lub drzewo B często zawiera metadane w pamięci podręcznej, a skumulowane liczby odzwierciedlają działanie od czasu ostatniego uruchomienia wystąpienia aparatu bazy danych. Metadane mniej aktywnego stertu lub drzewa B mogą przenosić się do i z pamięci podręcznej w miarę ich użytkowania, szczególnie jeśli instancja Database Engine jest pod presją pamięci. W związku z tym statystyki operacyjne indeksu mogą czasami nie zostać odzwierciedlone w pliku sys.dm_db_index_operational_stats. To nie jest typowe.
Statystyki są usuwane z pamięci podręcznej i nie są już raportowane przez tę funkcję, jeśli tabela lub indeks zostanie porzucony lub jeśli partycja zostanie obcięta. Inne operacje DDL względem indeksu mogą spowodować zresetowanie wartości statystyk do zera.
Określanie wartości parametrów przy użyciu funkcji systemowych
Funkcji Transact-SQL można użyć DB_ID i OBJECT_ID, aby określić wartość parametrów database_id i object_id. Jednak przekazywanie wartości, które nie są poprawne, do tych funkcji może powodować niezamierzone skutki. Zawsze upewnij się, że podczas używania DB_ID lub OBJECT_IDjest zwracany prawidłowy identyfikator. Aby uzyskać więcej informacji, zobacz Zwracanie informacji dla określonej tabeli.
Permissions
Wymaga następujących uprawnień:
CONTROLuprawnienia do określonego obiektu w bazie danychVIEW DATABASE STATElubVIEW DATABASE PERFORMANCE STATEuprawnienia do zwracania informacji o wszystkich obiektach w określonej bazie danych, gdy wartość dla@object_idnie jest określona.VIEW SERVER STATElubVIEW SERVER PERFORMANCE STATEpozwolenie na zwracanie informacji o wszystkich bazach danych, gdy wartość nie@database_idjest określona.
Udzielenie VIEW DATABASE STATE lub VIEW SERVER PERFORMANCE STATE zezwolenie na zwracanie wszystkich obiektów w bazie danych, niezależnie od wszelkich CONTROL uprawnień odrzuconych dla określonych obiektów.
Odmawianie lub VIEW DATABASE STATE nie zezwala na zwracanie VIEW SERVER PERFORMANCE STATE wszystkich obiektów w bazie danych, niezależnie od uprawnień CONTROL przyznanych dla określonych obiektów.
Więcej informacji można znaleźć w artykule Widoki i funkcje zarządzania dynamicznego systemem.
Examples
Zwracanie informacji dla określonej tabeli
Poniższy przykład zwraca informacje o wszystkich indeksach i partycjach Person.Address tabeli w bazie AdventureWorks2025.
Ważna
Gdy używasz funkcji DB_ID Transact-SQL i OBJECT_ID zwracasz wartość parametru, zawsze upewnij się, że zwraca się poprawny identyfikator. Jeśli nie można odnaleźć nazwy bazy danych lub obiektu, na przykład gdy nie istnieją lub są niepoprawnie napisane, obie funkcje zwracają wartość NULL. Funkcja sys.dm_db_index_operational_stats interpretuje NULL jako wartość wieloznaczny określającą wszystkie bazy danych lub wszystkie obiekty. Ponieważ może to być operacja niezamierzona, przykłady w tej sekcji przedstawiają bezpieczny sposób określania identyfikatorów baz danych i obiektów.
DECLARE @db_id AS INT = DB_ID(N'AdventureWorks2025');
DECLARE @object_id AS INT = OBJECT_ID(N'AdventureWorks2025.Person.Address');
SELECT *
FROM sys.dm_db_index_operational_stats(@db_id, @object_id, NULL, NULL)
WHERE @db_id IS NOT NULL
AND @object_id IS NOT NULL;
Zwracanie informacji dla wszystkich tabel i indeksów
Poniższy przykład zwraca informacje dotyczące wszystkich tabel i indeksów w wystąpieniu aparatu bazy danych.
SELECT *
FROM sys.dm_db_index_operational_stats(NULL, NULL, NULL, NULL);
Skanowanie indeksów i wyszukiwanie wszystkich tabel
Poniższy przykład agreguje dane na poziomie partycji w celu zwrócenia statystyk wyszukiwania indeksu i skanowania dla wszystkich tabel w bieżącej bazie danych.
SELECT OBJECT_SCHEMA_NAME(object_id) AS schema_name,
OBJECT_NAME(object_id) AS object_name,
COUNT(DISTINCT(index_id)) AS index_count,
COUNT(DISTINCT(partition_number)) AS partition_count,
SUM(range_scan_count) AS index_scan_count,
SUM(singleton_lookup_count) AS index_seek_count
FROM sys.dm_db_index_operational_stats(DB_ID(), DEFAULT, DEFAULT, DEFAULT)
GROUP BY OBJECT_SCHEMA_NAME(object_id),
OBJECT_NAME(object_id)
ORDER BY schema_name, object_name;
Treści powiązane
- Widoki i funkcje dynamicznego zarządzania systemem
- Indeksowanie powiązanych dynamicznych widoków zarządzania i funkcji (Transact-SQL)
- Monitorowanie i dostrajanie pod kątem wydajności
- sys.dm_db_index_physical_stats (Transact-SQL)
- sys.dm_db_index_usage_stats (Transact-SQL)
- sys.dm_os_latch_stats (Transact-SQL)
- sys.dm_db_partition_stats (Transact-SQL)
- sys.allocation_units (Transact-SQL)
- sys.partitions (Transact-SQL)
- sys.indexes (Transact-SQL)