sp_indexes (Transact-SQL)

Gäller för:SQL Server

Returnerar indexinformation för den angivna fjärrtabellen.

Transact-SQL syntaxkonventioner

Syntax

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'

Namnet på en länkad server som kör SQL Server och för vilken tabellinformation efterfrågas. @table_server är sysname, utan standard.

[ @table_name = ] N'table_name'

Namnet på fjärrtabellen för vilken indexinformation ska tillhandahållas. @table_name är sysname, med standardvärdet .NULL Om NULL, returneras alla tabeller i den angivna databasen.

[ @table_schema = ] N'table_schema'

Specificerar tabellschemat. @table_schema är sysname, med standardvärdet .NULL I SQL Server-miljön motsvarar detta värde tabellägaren.

[ @table_catalog = ] N'table_catalog'

Namnet på databasen där @table_name finns. @table_catalog är sysname, med standardvärdet .NULL Om NULL, @table_catalog som standard .master

[ @index_name = ] N'index_name'

Namnet på indexet för vilket information efterfrågas. @index_name är sysname, med standardvärdet .NULL

[ @is_unique = ] is_unique

Typen av index för vilken information ska returneras. @is_unique är bit, och kan vara ett av följande värden.

Värde Description
1 Returnerar information om unika index.
0 Returnerar information om index som inte är unika.
NULL (standardinställning) Returnerar information om alla index.

Resultatuppsättning

Kolumnnamn Datatyp Description
TABLE_CAT sysname Namnet på databasen där den angivna tabellen finns.
TABLE_SCHEM sysname Schema för bordet.
TABLE_NAME sysname Namnet på fjärrbordet.
NON_UNIQUE smallint Om indexet är unikt eller inte:

0 = Unik
1 = Inte unik
INDEX_QUALIFER sysname Namnet på indexägaren. Vissa databashanteringssystem (DBMS)-produkter tillåter användare utanför tabellägaren att skapa index. I SQL Server är denna kolumn alltid samma som TABLE_NAME.
INDEX_NAME sysname Indexets namn.
TYPE smallint Typ av index:

0 = Statistik för en tabell
1 = Klustrade
2 = Hashed
3 = Övrigt
ORDINAL_POSITION int Kolumnens ordinala position i indexet. Den första kolumnen i indexet är 1. Denna kolumn returnerar alltid ett värde.
COLUMN_NAME sysname Det motsvarande namnet på kolumnen för varje kolumn i den TABLE_NAME returnerade.
ASC_OR_DESC varchar Ordningen som används vid sortering:

A = Stigande
D = Nedåtgående
NULL = Ej tillämpligt

SQL Server returnerar Aalltid .
CARDINALITY int Antalet rader i tabellen eller unika värden i indexet.
PAGES int Antalet sidor som ska lagras i index eller tabell.
FILTER_CONDITION nvarchar(4000) SQL Server returnerar inget värde.

Permissions

Kräver SELECT tillstånd på schemat.

Examples

Följande exempel returnerar all indexinformation från Employees databasens tabell AdventureWorks2025 på den Seattle1 länkade servern.

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