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.
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 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
oNo
.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.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
oNo
.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
oNo
.TrimTrailingBlanks
varchar(35) Recorta los espacios en blanco finales. Devuelve Yes
oNo
.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
= True0
= FalseEl 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
,Secondary
oTransaction 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 deNO_ACTION
,CASCADE
,SET_NULL
,SET_DEFAULT
oN/A
.
Solo se aplica a las restricciones FOREIGN KEY.update_action
nvarchar(9) Indica si la UPDATE
acción es una deNO_ACTION
,CASCADE
,SET_NULL
,SET_DEFAULT
oN/A
.
Solo se aplica aFOREIGN KEY
restricciones.status_enabled
varchar(8) Indica si la restricción está habilitada: Enabled
,Disabled
oN/A
.
Solo se aplica aCHECK
las restricciones yFOREIGN KEY
.status_for_replication
varchar(19) Indica si la restricción es para replicación.
Solo se aplica aCHECK
las restricciones yFOREIGN 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