sp_help

报告有关数据库对象(sysobjects 表中列出的任何对象)、用户定义数据类型或 Microsoft® SQL Server™ 所提供的数据类型的信息。

语法

sp_help [ [ @objname = name ]

参数

[@objname =name

是 sysobjects 中的任意对象的名称,或者是在 systypes 表中任何用户定义数据类型的名称。Name 的数据类型为 nvarchar(776),默认值为 NULL。不能使用数据库名称。

返回代码值

0(成功)或 1(失败)

结果集

返回的结果集取决于 name 是否已指定、何时指定以及它是何种数据库对象等因素。

  1. 如果执行不带参数的 sp_help,则返回当前数据库中现有的所有类型对象的摘要信息。

列名

数据类型

描述

Name

nvarchar(128)

对象名

Owner

nvarchar(128)

对象所有者

Object_type

nvarchar(31)

对象类型

  1. 如果 name 是 SQL Server 数据类型或用户定义数据类型,则 sp_help 返回此结果集。

列名

数据类型

描述

Type_name

nvarchar(128)

数据类型名称。

Storage_type

nvarchar(128)

SQL Server 类型名称。

Length

smallint

数据类型的物理长度(以字节为单位)。

Prec

int

精度(总的数字位数)。

Scale

int

小数点右边的数字位数。

Nullable

varchar(35)

指明是否允许 NULL 值:是或否。

Default_name

nvarchar(128)

绑定到该类型的默认值名称。如果没有绑定默认值,则为 NULL。

Rule_name

nvarchar(128)

绑定到该类型的规则名称。如果没有绑定默认值,则为 NULL。

Collation

sysname

数据类型的排序规则。如果是非字符数据类型,则为 NULL。

  1. 如果 name 是任意数据库对象(而不是数据类型),那么 sp_help 将返回此结果集,以及基于指定对象类型的其它结果集。

列名

数据类型

描述

Name

nvarchar(128)

表名

Owner

nvarchar(128)

表的所有者

Type

nvarchar(31)

表的类型

Created_datetime

datetime

创建的日期表

根据指定的数据库对象,sp_help 返回其它结果集。

如果 name 是系统表、用户表或者视图,则 sp_help 返回这些结果集(例外,对于视图,不返回描述数据文件在文件组中所处位置的结果集)。

  1. 按列对象返回其它结果集:

列名

数据类型

描述

Column_name

nvarchar(128)

列名。

Type

nvarchar(128)

列数据类型。

Computed

varchar(35)

指出是否计算了在列中的值:(是或否)。

Length

int

以字节为单位的列长度。

Prec

char(5)

列精度。

Scale

char(5)

列数值范围。

Nullable

varchar(35)

指出在列中是否允许 NULL 值:是或否。

TrimTrailingBlanks

varchar(35)

剪裁尾随空格(是或否)。

FixedLenNullInSource

varchar(35)

只是为了向后兼容。

Collation

sysname

列的排序规则。如果是非字符数据类型,则为 NULL。

  1. 按标识列返回的其它结果集:

列名

数据类型

描述

Identity

nvarchar(128)

其数据类型被声明为标识的列名。

Seed

numeric

标识列的起始值。

Increment

numeric

此列中的值所使用的增量。

Not For Replication

int

当重复登录(例如 sqlrepl)试图在表中插入数据时,无法强制使用 IDENTITY 属性:

1 = True

0 = False

  1. 按列返回的其它结果集:

列名

数据类型

描述

RowGuidCol

sysname

全局唯一标识符列的名称。

  1. 按文件组返回的其它结果集:

列名

数据类型

描述

Data_located_on_filegroup

nvarchar(128)

数据所在的文件组(主要文件组、次要文件组或事务日志)。

  1. 按索引返回的其它结果集:

列名

数据类型

描述

index_name

sysname

索引名。

index_description

varchar(210)

索引的描述。

index_keys

nvarchar(2078)

生成索引所在列的列名。

  1. 按约束返回的其它结果集

列名

数据类型

描述

constrain_type

nvarchar(146)

约束的类型。

constrain_name

nvarchar(128)

约束名。

delete_action

nvarchar(9)

指明 DELETE 操作是:无操作、层叠或暂缺。

(仅适用于 FOREIGN KEY 约束。)

update_action

nvarchar(9)

指明 UPDATE 操作是:无操作、层叠或暂缺。

(仅适用于 FOREIGN KEY 约束。)

status_enabled

varchar(8)

指明是否启用约束:启用、禁用或暂缺。(仅适用于 CHECK 和 FOREIGN KEY 约束。)

Status_for_replication

varchar(19)

指明约束是否用于复制。(仅适用于 CHECK 和 FOREIGN KEY 约束。)

constrain_keys

nvarchar(2078)

构成约束的列名。或者(对于默认值和规则而言)指定义默认值或规则的文本。

  1. 按引用对象返回的其它结果集:

列名

数据类型

描述

Table is referenced by

nvarchar(516)

识别引用表的其它数据库对象。

  1. 如果 name 是系统存储过程或扩展存储过程,那么 sp_help 将返回此结果集。

列名

数据类型

描述

Parameter_name

nvarchar(128)

存储过程参数名。

Type

nvarchar(128)

存储过程参数的数据类型。

Length

smallint

最大物理存储长度(以字节为单位)。

Prec

int

精度(总的数字位数)。

Scale

int

小数点右边的数字个数。

Param_order

smallint

参数的顺序。

注释

sp_help 过程仅在当前数据库中查找对象。

当没有指定 name 时,sp_helptrigger 列出当前数据库中所有对象的名称、所有者和对象类型。sp_helptrigger 提供有关触发器的信息。

权限

执行权限默认授予 public 角色。

示例

A. 返回有关所有对象的信息

下面的示例列出有关 sysobjects 中每个对象的信息。


USE master
EXEC sp_help

B. 返回有关单个对象的信息

下面的示例显示有关 publishers 表的信息。


USE pubs
EXEC sp_help publishers