sp_indexes (Transact-SQL)

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

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

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

Argumentos

  • [ @table_server = ] 'table_server'
    Es el nombre de un servidor vinculado que ejecuta SQL Server para el que se solicita información de tablas. table_server es de tipo sysname y no tiene ningún valor predeterminado.

  • [ @table_name = ] 'table_name'
    Es el nombre de la tabla remota para la que se proporciona información de índices. table_name es de tipo sysname y su valor predeterminado es NULL. Si es NULL, se devuelven todas las tablas de la base de datos especificada.

  • [ @table_schema = ] 'table_schema'
    Especifica el esquema de la tabla. En el entorno de SQL Server, corresponde al propietario de la tabla. table_schema es de tipo sysname y su valor predeterminado es NULL.

  • [ @table_catalog = ] 'table_db'
    Es el nombre de la base de datos en la que reside table_name. table_db es de tipo sysname y su valor predeterminado es NULL. Si es NULL, el valor predeterminado de table_db es master.

  • [ @index_name = ] 'index_name'
    Es el nombre del índice para el que se solicita información. index es de tipo sysname y su valor predeterminado es NULL.

  • [ @is_unique = ] 'is_unique'
    Es el tipo de índice para el que se devuelve información. is_unique es de tipo bit, su valor predeterminado es NULL y puede tener uno de los valores siguientes.

    Valor

    Descripción

    1

    Devuelve información acerca de índices únicos.

    0

    Devuelve información acerca de índices que no son únicos.

    NULL

    Devuelve información acerca de todos los índices.

Conjuntos de resultados

Nombre de 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 DBMS permiten crear índices a usuarios que no sean los propietarios de la tabla. En SQL Server, esta columna es siempre igual que TABLE_NAME..

INDEX_NAME

sysname

Nombre del índice.

TYPE

smallint

Tipo de índice:

0 = Estadísticas de una tabla

1 = Agrupado

2 = En hash

3 = Otro

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

Es el nombre correspondiente de la columna para cada columna de TABLE_NAME devuelta.

ASC_OR_DESC

varchar

Es el orden utilizado en la intercalación:

A = Ascendente

D = Descendente

NULL = No aplicable

SQL Server siempre devuelve A.

CARDINALITY

int

Es el número de filas de la tabla o valores únicos del índice.

PAGES

int

Número de páginas para el almacenamiento del índice o tabla.

FILTER_CONDITION

nvarchar(4000)

SQL Server no devuelve ningún valor.

Permisos

Requiere el permiso SELECT en el esquema.

Ejemplos

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

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