Compartir vía


sp_indexes (Transact-SQL)

Se aplica a: SQL Server

Devuelve información de índice para la tabla remota especificada.

Convenciones de sintaxis de Transact-SQL

Sintaxis

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 ]
[ ; ]

Argumentos

[ @table_server = ] N'table_server'

Nombre de un servidor vinculado que ejecuta SQL Server para el que se solicita información de tabla. @table_server es sysname, sin ningún valor predeterminado.

[ @table_name = ] N'table_name'

Nombre de la tabla remota para la que se va a proporcionar información de índice. @table_name es sysname, con un valor predeterminado de NULL. Si NULLes , se devuelven todas las tablas de la base de datos especificada.

[ @table_schema = ] N'table_schema'

Especifica el esquema de la tabla. @table_schema es sysname, con un valor predeterminado de NULL. En el entorno de SQL Server, este valor corresponde al propietario de la tabla.

[ @table_catalog = ] N'table_catalog'

Nombre de la base de datos en la que reside @table_name . @table_catalog es sysname, con un valor predeterminado de NULL. Si NULLes , @table_catalog el valor predeterminado es master.

[ @index_name = ] N'index_name'

Nombre del índice para el que se solicita información. @index_name es sysname, con un valor predeterminado de NULL.

[ @is_unique = ] is_unique

Tipo de índice para el que se va a devolver información. @is_unique es bit y puede ser uno de los siguientes valores.

Valor Descripción
1 Devuelve información acerca de índices únicos.
0 Devuelve información sobre los índices que no son únicos.
NULL (valor predeterminado) Devuelve información acerca de todos los índices.

Conjunto de resultados

Nombre de la columna Tipo de datos Descripción
TABLE_CAT sysname Nombre de la base de datos en que reside la tabla especificada.
TABLE_SCHEM sysname Esquema de la tabla.
TABLE_NAME sysname Nombre de la tabla remota.
NON_UNIQUE smallint Indica si el índice es único o no:

0 = Único
1 = No único
INDEX_QUALIFER sysname Nombre del propietario del índice. Algunos productos del sistema de administración de bases de datos (DBMS) permiten a los usuarios que no sean el propietario de la tabla crear índices. En SQL Server, esta columna siempre es la misma que TABLE_NAME.
INDEX_NAME sysname Nombre del índice.
TYPE smallint Tipo de índice:

0 = Estadísticas de una tabla
1 = Agrupado
2 = hash
3 = Otros
ORDINAL_POSITION int Posición ordinal de la columna en el índice. La primera columna del índice es 1. Esta columna siempre devuelve un valor.
COLUMN_NAME sysname Nombre correspondiente de la columna para cada columna del TABLE_NAME devuelto.
ASC_OR_DESC varchar El orden utilizado en la intercalación:

A = ascendente
D = Descendente
NULL = No aplicable

SQL Server siempre devuelve A.
CARDINALITY int Número de filas de la tabla o de valores únicos del índice.
PAGES int Número de páginas para almacenar el índice o la tabla.
FILTER_CONDITION nvarchar(4000) SQL Server no devuelve un valor.

Permisos

Es necesario contar con un permiso de tipo SELECT sobre el esquema.

Ejemplos

En el ejemplo siguiente se devuelve toda la información de índices de la tabla Employees de la base de datos AdventureWorks2022, que se encuentra en el servidor vinculado Seattle1.

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