sp_help (Transact-SQL)

更新日期: 2006 年 7 月 17 日

报告有关数据库对象(sys.sysobjects 兼容视图中列出的所有对象)、用户定义数据类型或 SQL Server 2005 提供的数据类型的信息。

ms187335.note(zh-cn,SQL.90).gif重要提示:
此功能与早期版本的 SQL Server 有所不同。 有关详细信息,请参阅 SQL Server 2005 中数据库引擎功能的行为更改

主题链接图标Transact-SQL 语法约定

语法

sp_help [ [ @objname = ] 'name' ]

参数

  • [ @objname=] 'name'
    sysobjects 类型或 systypes 表中任何用户定义数据类型的某个对象的名称。name 的数据类型为 nvarchar(776),默认值为 NULL。 不能接受数据库名称。

返回代码值

0(成功)或 1(失败)

结果集

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

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

    列名 数据类型 说明

    Name

    nvarchar(128)

    对象名称

    所有者

    nvarchar(128)

    对象所有者

    Object_type

    nvarchar(31)

    对象类型

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

    列名 数据类型 说明

    Type_name

    nvarchar(128)

    数据类型名称。

    Storage_type

    nvarchar(128)

    SQL Server 类型名称。

    长度

    smallint

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

    Prec

    int

    精度(数字总位数)。

    小数位数

    int

    小数点右边的数字位数。

    Nullable

    varchar(35)

    指示是否允许 NULL 值:“是”或“否”。

    Default_name

    nvarchar(128)

    绑定到此类型的默认值的名称。

    NULL = 未绑定默认值。

    Rule_name

    nvarchar(128)

    绑定到此类型的规则的名称。

    NULL = 未绑定默认值。

    排序规则

    sysname

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

  3. 如果 name 是数据库对象而不是数据类型,则 sp_help 将根据指定的对象类型返回此结果集,同时返回其他结果集。

    列名 数据类型 说明

    Name

    nvarchar(128)

    表名

    所有者

    nvarchar(128)

    表所有者

    Type

    nvarchar(31)

    表类型

    Created_datetime

    datetime

    表的创建日期

    根据指定的数据库对象,sp_help 将返回其他结果集。
    如果 name 是系统表、用户表或视图,则 sp_help 将返回下列结果集。 但是,不会为视图返回说明数据文件在文件组中位置的结果集。

    • 返回的有关列对象的其他结果集:

      列名

    • 针对标识列返回的其他结果集:

      列名 数据类型 说明

      Identity

      nvarchar(128)

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

      Seed

      numeric

      标识列的起始值。

      Increment

      numeric

      用于此列中的值的增量。

      Not For Replication

      int

      复制登录名(如 sqlrepl)试图在表中插入数据时,不强制使用 IDENTITY 属性:

      1 = True

      0 = False

    • 针对各列返回的其他结果集:

      列名 数据类型 说明

      RowGuidCol

      sysname

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

    • 针对文件组返回的其他结果集:

      列名 数据类型 说明

      Data_located_on_filegroup

      nvarchar(128)

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

    • 针对索引返回的其他结果集:

      列名 数据类型 说明

      index_name

      sysname

      索引名。

      index_description

      varchar(210)

      索引的说明。

      index_keys

      nvarchar(2078)

      要生成索引的列的列名。

    • 针对约束返回的其他结果集

      列名 数据类型 说明

      constraint_type

      nvarchar(146)

      约束的类型。

      constraint_name

      nvarchar(128)

      约束的名称。

      delete_action

      nvarchar(9)

      指示 DELETE 操作是:No Action、CASCADE 还是 N/A。

      仅适用于 FOREIGN KEY 约束。

      update_action

      nvarchar(9)

      指示 UPDATE 操作是:No Action、Cascade 还是 N/A。

      仅适用于 FOREIGN KEY 约束。

      status_enabled

      varchar(8)

      指示是否启用约束:Enabled、Disabled 或 N/A。

      仅适用于 CHECK 和 FOREIGN KEY 约束。

      Status_for_replication

      varchar(19)

      指示约束是否用于复制。

      仅适用于 CHECK 和 FOREIGN KEY 约束。

      constraint_keys

      nvarchar(2078)

      构成约束的列的名称。对于默认值和规则而言,则为定义默认值或规则的文本。

      SQL Server 2005 对目录元数据中的 SQL 表达式进行解码和存储的方式不同于 SQL Server 2000。 已解码表达式的语义与原始文本相同,但不能保证语法也相同。 例如,已解码的表达式中删除了空格。 有关详细信息,请参阅 SQL Server 2005 中数据库引擎功能的行为更改

    • 针对执行引用的对象返回的其他结果集:

      列名 数据类型 说明

      Table is referenced by

      nvarchar(516)

      标识引用表的其他数据库对象。

    • 针对存储过程、函数或扩展存储过程返回的其他结果集:

      列名 数据类型 说明

      Parameter_name

      nvarchar(128)

      存储过程参数名。

      Type

      nvarchar(128)

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

      长度

      smallint

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

      Prec

      int

      精度,即数字总位数。

      小数位数

      int

      小数点右边的数字位数。

      Param_order

      smallint

      参数的顺序。

备注

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

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

权限

要求具有 public 角色的成员身份。

示例

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

以下示例将列出有关 master 数据库中每个对象的信息。

USE master;
GO
EXEC sp_help;
GO

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

以下示例将显示有关 Contact 表的信息。

USE AdventureWorks;
GO
EXEC sp_help 'Person.Contact';
GO

请参阅

参考

数据库引擎存储过程 (Transact-SQL)
sp_helpgroup (Transact-SQL)
sp_helpindex (Transact-SQL)
sp_helprotect (Transact-SQL)
sp_helpserver (Transact-SQL)
sp_helptrigger (Transact-SQL)
sp_helpuser (Transact-SQL)
系统存储过程 (Transact-SQL)
sys.sysobjects (Transact-SQL)

帮助和信息

获取 SQL Server 2005 帮助

更改历史记录

发布日期 历史记录

2006 年 7 月 17 日

新增内容:
  • constraint_keys 列中,添加了有关在 SQL Server 2005 中如何存储 SQL 表达式的内容。