Megosztás a következőn keresztül:


sp_indexes (Transact-SQL)

A következőkre vonatkozik:SQL Server

Indexinformációkat ad a megadott távoli tábláról.

Transact-SQL szintaxis konvenciók

Szemantika

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'

Az SQL Servert futtató összekapcsolt szerver neve, amelyhez táblázatinformációt kérnek. @table_servera sysname, alapértelmezett nélkül.

[ @table_name = ] N'table_name'

A távoli tábla neve, amelyhez indexinformációt lehet adni. @table_name a sysname, alapértelmezettként NULL. Ha NULL, akkor a megadott adatbázis összes tábláját visszaadják.

[ @table_schema = ] N'table_schema'

Megadja a táblázat sémát. @table_schema a sysname, alapértelmezett értékével NULL. Az SQL Server környezetében ez az érték a tábla tulajdonosának felel meg.

[ @table_catalog = ] N'table_catalog'

Az adatbázis neve, amelyben @table_name található. @table_catalog a sysname, alapértelmezetként NULL. Ha NULL, @table_catalog alapértelmezettként .master

[ @index_name = ] N'index_name'

Az információkért index neve. @index_name a sysname, alapértelmezettként NULL.

[ @is_unique = ] is_unique

Az index típusa, amelyhez információt kell visszaadni. @is_uniquebit, és lehet az alábbi értékek egyike.

Érték Description
1 Információt ad vissza az egyedi indexekről.
0 Olyan indexekről érkezik információk, amelyek nem egyediek.
NULL (alapértelmezett) Minden indexről információt ad.

Eredményhalmaz

Oszlop név Adattípus Description
TABLE_CAT sysname Az adatbázis neve, amelyben a megadott tábla található.
TABLE_SCHEM sysname Az asztal sémája.
TABLE_NAME sysname A távoli asztal neve.
NON_UNIQUE smallint Hogy az index egyedi-e vagy sem:

0 = Egyedi
1 = Nem egyedi
INDEX_QUALIFER sysname Az index tulajdonosának neve. Néhány adatbázis-kezelő rendszer (DBMS) termék lehetővé teszi, hogy a tábla tulajdonosán kívüli felhasználók is indexeket hozzanak létre. Az SQL Serverben ez az oszlop mindig ugyanaz, mint TABLE_NAME.
INDEX_NAME sysname Az index neve.
TYPE smallint Index típusa:

0 = Statisztikák egy táblázathoz
1 = Csoportosított
2 = Hashelve
3 = Egyéb
ORDINAL_POSITION int Az oszlop sorrendhelyzete az indexben. Az index első oszlopa .1 Ez az oszlop mindig értéket ad vissza.
COLUMN_NAME sysname Az oszlop megfelelő neve minden visszaadott TABLE_NAME oszlophoz.
ASC_OR_DESC varchar Az összeállításban használt sorrend:

A = Emelkedő
D = Leereszkedő
NULL = Nem alkalmazható

Az SQL Server mindig visszaadja A.
CARDINALITY int A táblázatban szereplő sorok száma vagy az indexben szereplő egyedi értékek.
PAGES int Az index vagy táblázat tárolására szolgáló oldalak száma.
FILTER_CONDITION nvarchar(4000) Az SQL Server nem ad vissza értéket.

Permissions

Engedély SELECT szükséges a sémához.

Példák

A következő példa visszaadja AdventureWorks2025 az összes indexinformációt az Employees adatbázis táblázatából a Seattle1 kapcsolt szerveren.

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