Udostępnij za pomocą


sp_indexes (Transact-SQL)

Dotyczy:SQL Server

Zwraca informacje indeksowe dla określonej tabeli zdalnej.

Transact-SQL konwencje składni

Składnia

sp_indexes
    [ @table_server = ] N'table_server'
    [ , [ @table_name = ] N'table_name' ]
    [ , [ @table_schema = ] N'table_schema' ]
    [ , [ @table_catalog = ] N'table_catalog' ]
    [ , [ @index_name = ] N'index_name' ]
    [ , [ @is_unique = ] is_unique ]
[ ; ]

Arguments

[ @table_server = ] N'table_server'

Nazwa serwera połączonego działającego na SQL Server, dla którego żądane są informacje o tabeli. @table_server to sysname, bez domyślnego ustawienia.

[ @table_name = ] N'table_name'

Nazwa zdalnej tabeli, dla której należy podawać informacje indeksowe. @table_name to nazwa systemu, z domyślnym .NULL Jeśli , NULLwszystkie tabele w podanej bazie danych są zwracane.

[ @table_schema = ] N'table_schema'

Określa schemat tabeli. @table_schema to nazwa systemu z domyślnym .NULL W środowisku SQL Server ta wartość odpowiada właścicielowi tabeli.

[ @table_catalog = ] N'table_catalog'

Nazwa bazy danych, w której @table_name się znajduje. @table_catalog to nazwa systemu, z domyślnym .NULL Jeśli NULL, @table_catalog domyślnie przyjmuje .master

[ @index_name = ] N'index_name'

Nazwa indeksu, o który proszone są informacje. @index_name to nazwa systemu z domyślnym .NULL

[ @is_unique = ] is_unique

Rodzaj indeksu, dla którego zwraca się informacje. @is_unique jest bitem i może być jedną z następujących wartości.

Wartość Description
1 Zwraca informacje o unikalnych indeksach.
0 Zwraca informacje o indeksach, które nie są unikalne.
NULL (ustawienie domyślne) Zwraca informacje o wszystkich indeksach.

Zestaw wyników

Nazwa kolumny Typ danych Description
TABLE_CAT sysname Nazwa bazy danych, w której znajduje się dana tabela.
TABLE_SCHEM sysname Schemat na stół.
TABLE_NAME sysname Nazwa zdalnego stołu.
NON_UNIQUE smallint Niezależnie od tego, czy indeks jest unikalny, czy nie:

0 = Unikalny
1 = Nie jest unikalne
INDEX_QUALIFER sysname Nazwisko właściciela indeksu. Niektóre produkty do zarządzania bazami danych (DBMS) pozwalają użytkownikom innym niż właściciel tabeli tworzyć indeksy. W SQL Serverze ta kolumna jest zawsze taka sama jak TABLE_NAME.
INDEX_NAME sysname Nazwa indeksu.
TYPE smallint Typ indeksu:

0 = Statystyki dla tabeli
1 = Skupiony
2 = Hashed
3 = Inne
ORDINAL_POSITION int Pozycja porządkowa kolumny w indeksie. Pierwsza kolumna indeksu to 1. Ta kolumna zawsze zwraca wartość.
COLUMN_NAME sysname Odpowiadająca nazwa kolumny dla każdej kolumny zwróconej kolumny TABLE_NAME .
ASC_OR_DESC varchar Kolejność używana w sortowaniu:

A = Rosnące
D = Spadające
NULL = Nie ma zastosowania

SQL Server zawsze zwraca .A
CARDINALITY int Liczba wierszy w tabeli lub unikalne wartości w indeksie.
PAGES int Liczba stron do przechowywania indeksu lub tabeli.
FILTER_CONDITION nvarchar(4000) SQL Server nie zwraca wartości.

Permissions

Wymaga SELECT zgody na schemat.

Przykłady

Poniższy przykład zwraca AdventureWorks2025 wszystkie informacje indeksowe z tabeli Employees bazy danych na połączonym serwerzeSeattle1.

EXECUTE sp_indexes
    @table_server = 'Seattle1',
    @table_name = 'Employee',
    @table_schema = 'HumanResources',
    @table_catalog = 'AdventureWorks2022';