Compartir vía


sp_help (Transact-SQL)

Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance

Informa sobre un objeto de base de datos (cualquier objeto enumerado en la sys.sysobjects vista de compatibilidad), un tipo de datos definido por el usuario o un tipo de datos.

Convenciones de sintaxis de Transact-SQL

Sintaxis

sp_help [ [ @objname = ] N'objname' ]
[ ; ]

Argumentos

[ @objname = ] N'objname'

Nombre de cualquier objeto, en sys.sysobjects o cualquier tipo de datos definido por el usuario en la sys.systypes tabla. @objname es nvarchar(776), con un valor predeterminado de NULL. Los nombres de base de datos no son aceptables. Se pueden delimitar dos o tres nombres de partes, como Person.AddressType o [Person].[AddressType].

Valores de código de retorno

0 (correcto) o 1 (erróneo).

Conjunto de resultados

Los conjuntos de resultados que se devuelven dependen de si se especifica @name , cuándo se especifica y qué objeto de base de datos es.

  1. Si sp_help no se ejecuta sin argumentos, se devuelve información de resumen de objetos de todos los tipos que existen en la base de datos actual.

    Nombre de la columna Tipo de datos Descripción
    Name nvarchar(128) Object name
    Owner nvarchar(128) Propietario del objeto (la entidad de seguridad de base de datos que posee el objeto . El valor predeterminado es el propietario del esquema que contiene el objeto ).
    Object_type nvarchar(31) Tipo de objeto
  2. Si @name es un tipo de datos de SQL Server o un tipo de datos definido por el usuario, sp_help devuelve este conjunto de resultados.

    Nombre de la columna Tipo de datos Descripción
    Type_name nvarchar(128) Nombre del tipo de datos.
    Storage_type nvarchar(128) Nombre del tipo de servidor SQL Server.
    Length smallint Longitud física del tipo de datos (en bytes).
    Prec int Precisión (número total de dígitos).
    Scale int Número de dígitos a la derecha del decimal.
    Nullable varchar(35) Indica si NULL se permiten valores: Yes o No.
    Default_name nvarchar(128) Nombre de un valor predeterminado enlazado a este tipo.

    NULL = No hay ningún valor predeterminado enlazado.
    Rule_name nvarchar(128) Nombre de una regla enlazada a este tipo.

    NULL = No hay ningún valor predeterminado enlazado.
    Collation sysname Intercalación del tipo de datos. NULL para tipos de datos que no son de caracteres.
  3. Si @name es cualquier objeto de base de datos distinto de un tipo de datos, sp_help devuelve este conjunto de resultados y también conjuntos de resultados adicionales, en función del tipo de objeto especificado.

    Nombre de la columna Tipo de datos Descripción
    Name nvarchar(128) Nombre de la tabla
    Owner nvarchar(128) Propietario de la tabla.
    Type nvarchar(31) Tipo de tabla.
    Created_datetime datetime Tabla de fechas creada

    Dependiendo del objeto de base de datos especificado, sp_help devuelve conjuntos de resultados adicionales.

    Si @name es una tabla del sistema, una tabla de usuario o una vista, sp_help devuelve los siguientes conjuntos de resultados. Sin embargo, el conjunto de resultados que describe dónde se encuentra el archivo de datos en un grupo de archivos no se devuelve para una vista.

    • El siguiente conjunto de resultados también se devuelve en objetos de columna:

      Nombre de la columna Tipo de datos Descripción
      Column_name nvarchar(128) Nombre de la columna.
      Type nvarchar(128) Tipo de datos de la columna.
      Computed varchar(35) Indica si los valores de la columna se calculan: Yes o No.
      Length int Longitud de la columna en bytes.

      Nota: Si el tipo de datos de columna es un tipo de valor grande (varchar(max), nvarchar(max), varbinary(max)o xml), el valor se muestra como -1.
      Prec char(5) Precisión de columna.
      Scale char(5) Escala de columnas.
      Nullable varchar(35) Indica si NULL se permiten valores en la columna: Yes o No.
      TrimTrailingBlanks varchar(35) Recorta los espacios en blanco finales. Devuelve Yes o No.
      FixedLenNullInSource varchar(35) Este parámetro está en desuso y se mantiene para la compatibilidad con versiones anteriores de los scripts.
      Collation sysname Intercalación de la columna. NULL para los tipos de datos que no son de caracteres.
    • El siguiente conjunto de resultados también se devuelve en columnas de identidad:

      Nombre de la columna Tipo de datos Descripción
      Identity nvarchar(128) Nombre de la columna cuyo tipo de datos se declara como identidad.
      Seed numeric Valor inicial de la columna de identidad.
      Increment numeric Incremento que se va a utilizar en los valores de esta columna.
      Not For Replication int IDENTITY la propiedad no se aplica cuando un inicio de sesión de replicación, como sqlrepl, inserta datos en la tabla:

      1 = True
      0 = False
    • El siguiente conjunto de resultados también se devuelve en columnas:

      Nombre de la columna Tipo de datos Descripción
      RowGuidCol sysname Nombre de la columna de identificador único global.
    • El siguiente conjunto de resultados también se devuelve en grupos de archivos:

      Nombre de la columna Tipo de datos Descripción
      Data_located_on_filegroup nvarchar(128) Grupo de archivos en el que se encuentran los datos: Primary, Secondaryo Transaction Log.
    • El siguiente conjunto de resultados también se devuelve en índices:

      Nombre de la columna Tipo de datos Descripción
      index_name sysname Nombre del índice.
      Index_description varchar(210) Descripción del índice.
      index_keys nvarchar(2078) Nombres de las columnas en las que se ha generado el índice. Devuelve NULL los índices de almacén de columnas optimizados para memoria.
    • El siguiente conjunto de resultados también se devuelve en restricciones:

      Nombre de la columna Tipo de datos Descripción
      constraint_type nvarchar(146) Tipo de restricción.
      constraint_name nvarchar(128) Nombre de la restricción.
      delete_action nvarchar(9) Indica si la DELETE acción es una de NO_ACTION, CASCADE, SET_NULL, SET_DEFAULTo N/A.

      Solo se aplica a las restricciones FOREIGN KEY.
      update_action nvarchar(9) Indica si la UPDATE acción es una de NO_ACTION, CASCADE, SET_NULL, SET_DEFAULTo N/A.

      Solo se aplica a FOREIGN KEY restricciones.
      status_enabled varchar(8) Indica si la restricción está habilitada: Enabled, Disabledo N/A.

      Solo se aplica a CHECK las restricciones y FOREIGN KEY .
      status_for_replication varchar(19) Indica si la restricción es para replicación.

      Solo se aplica a CHECK las restricciones y FOREIGN KEY .
      constraint_keys nvarchar(2078) Nombres de las columnas que componen la restricción o, en el caso de valores predeterminados y reglas, el texto que define el valor predeterminado o la regla.
    • El siguiente conjunto de resultados también se devuelve al hacer referencia a objetos:

      Nombre de la columna Tipo de datos Descripción
      Table is referenced by nvarchar(516) Identifica otros objetos de base de datos que hacen referencia a la tabla.
    • El siguiente conjunto de resultados también se devuelve en procedimientos almacenados, funciones o procedimientos almacenados extendidos.

      Nombre de la columna Tipo de datos Descripción
      Parameter_name nvarchar(128) Nombre del parámetro del procedimiento almacenado.
      Type nvarchar(128) Tipo de datos del parámetro del procedimiento almacenado.
      Length smallint Longitud máxima de almacenamiento físico en bytes.
      Prec int Precisión o número total de dígitos.
      Scale int Número de dígitos a la derecha del separador decimal.
      Param_order smallint Orden del parámetro.

Comentarios

El sp_help procedimiento busca un objeto solo en la base de datos actual.

Cuando no se especifica @name , sp_help enumera los nombres de objeto, los propietarios y los tipos de objeto de todos los objetos de la base de datos actual. sp_helptrigger proporciona información sobre los desencadenadores.

sp_help expone solo columnas de índice ordenables; por lo tanto, no expone información sobre índices XML ni índices espaciales.

Permisos

Debe pertenecer al rol public . El usuario debe tener al menos un permiso en @objname. Para ver las claves de restricción de columna, los valores predeterminados o las reglas, debe tener VIEW DEFINITION permiso en la tabla.

Ejemplos

Los ejemplos de código de Transact-SQL de este artículo utilizan la base de datos de ejemplo AdventureWorks2022 o AdventureWorksDW2022, que se pueden descargar desde la página principal de Ejemplos y proyectos de la comunidad de Microsoft SQL Server.

A Devolver información sobre todos los objetos

En el siguiente ejemplo se presenta información acerca de cada objeto de la base de datos master.

USE master;
GO
EXEC sp_help;
GO

B. Devolver información sobre un único objeto

En el siguiente ejemplo se presenta información acerca de la tabla Person.Person.

USE AdventureWorks2022;
GO
EXEC sp_help 'Person.Person';
GO