sp_help

sp_help是SQL Server中的一个系统存储过程,用于提供关于数据库中各种对象的详细信息。它能够返回表、视图、索引、约束、存储过程等对象的摘要信息,包括对象名称、所有者、类型、创建日期以及相关属性。此外,对于数据类型,sp_help会显示数据类型名称、长度、精度、小数位数、是否允许NULL等详细信息。对于表,还会提供列的详细信息,如列名、数据类型、是否计算、长度和排序规则等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 如果执行不带参数的 sp_help,则返回当前数据库中现有的所有类型对象的摘要信息。
    列名数据类型描述
    Namenvarchar(128)对象名
    Ownernvarchar(128)对象所有者
    Object_typenvarchar(31)对象类型

  2. 如果 name 是 SQL Server 数据类型或用户定义数据类型,则 sp_help 返回此结果集。
    列名数据类型描述
    Type_namenvarchar(128)数据类型名称。
    Storage_typenvarchar(128)SQL Server 类型名称。
    Lengthsmallint数据类型的物理长度(以字节为单位)。
    Precint精度(总的数字位数)。
    Scaleint小数点右边的数字位数。
    Nullablevarchar(35)指明是否允许 NULL 值:是或否。
    Default_namenvarchar(128)绑定到该类型的默认值名称。如果没有绑定默认值,则为 NULL。
    Rule_namenvarchar(128)绑定到该类型的规则名称。如果没有绑定默认值,则为 NULL。
    Collationsysname数据类型的排序规则。如果是非字符数据类型,则为 NULL。

  3. 如果 name 是任意数据库对象(而不是数据类型),那么 sp_help 将返回此结果集,以及基于指定对象类型的其它结果集。
    列名数据类型描述
    Namenvarchar(128)表名
    Ownernvarchar(128)表的所有者
    Typenvarchar(31)表的类型
    Created_datetimedatetime创建的日期表

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

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

    1. 按列对象返回其它结果集:
      列名数据类型描述
      Column_namenvarchar(128)列名。
      Typenvarchar(128)列数据类型。
      Computedvarchar(35)指出是否计算了在列中的值:(是或否)。
      Lengthint以字节为单位的列长度。
      Precchar(5)列精度。
      Scalechar(5)列数值范围。
      Nullablevarchar(35)指出在列中是否允许 NULL 值:是或否。
      TrimTrailingBlanksvarchar(35)剪裁尾随空格(是或否)。
      FixedLenNullInSourcevarchar(35)只是为了向后兼容。
      Collationsysname列的排序规则。如果是非字符数据类型,则为 NULL。

    2. 按标识列返回的其它结果集:
      列名数据类型描述
      Identitynvarchar(128)其数据类型被声明为标识的列名。
      Seednumeric标识列的起始值。
      Incrementnumeric此列中的值所使用的增量。
      Not For Replicationint当重复登录(例如 sqlrepl)试图在表中插入数据时,无法强制使用 IDENTITY 属性:
      1 = True
      0 = False

    3. 按列返回的其它结果集:
      列名数据类型描述
      RowGuidColsysname全局唯一标识符列的名称。

    4. 按文件组返回的其它结果集:
      列名数据类型描述
      Data_located_on_filegroupnvarchar(128)数据所在的文件组(主要文件组、次要文件组或事务日志)。

    5. 按索引返回的其它结果集:
      列名数据类型描述
      index_namesysname索引名。
      index_descriptionvarchar(210)索引的描述。
      index_keysnvarchar(2078)生成索引所在列的列名。

    6. 按约束返回的其它结果集
      列名数据类型描述
      constrain_typenvarchar(146)约束的类型。
      constrain_namenvarchar(128)约束名。
      delete_actionnvarchar(9)指明 DELETE 操作是:无操作、层叠或暂缺。

      (仅适用于 FOREIGN KEY 约束。)

      update_actionnvarchar(9)指明 UPDATE 操作是:无操作、层叠或暂缺。

      (仅适用于 FOREIGN KEY 约束。)

      status_enabledvarchar(8)指明是否启用约束:启用、禁用或暂缺。(仅适用于 CHECK 和 FOREIGN KEY 约束。)
      Status_for_replicationvarchar(19)指明约束是否用于复制。(仅适用于 CHECK 和 FOREIGN KEY 约束。)
      constrain_keysnvarchar(2078)构成约束的列名。或者(对于默认值和规则而言)指定义默认值或规则的文本。

    7. 按引用对象返回的其它结果集:
      列名数据类型描述
      Table is referenced bynvarchar(516)识别引用表的其它数据库对象。

  4. 如果 name 是系统存储过程或扩展存储过程,那么 sp_help 将返回此结果集。
    列名数据类型描述
    Parameter_namenvarchar(128)存储过程参数名。
    Typenvarchar(128)存储过程参数的数据类型。
    Lengthsmallint最大物理存储长度(以字节为单位)。
    Precint精度(总的数字位数)。
    Scaleint小数点右边的数字个数。
    Param_ordersmallint参数的顺序。

→ 转载来源 ←

<think>好的,我现在需要帮助用户查找关于SQL Server中存储过程sp_help的索引相关信息或用法。首先,我需要回忆一下sp_help的基本功能。根据用户提供的引用内容,比如引用[4]提到sp_helpdb用于显示数据库信息,而sp_help可能类似,用于显示对象的信息。 接下来,我需要确认sp_help的具体用法。根据SQL Server的知识,sp_help是一个系统存储过程,用于显示数据库对象的信息。用户询问的是索引相关的信息,所以需要知道当对索引使用sp_help时,会返回哪些内容。 然后,我应该检查用户提供的引用是否有直接提到sp_help。引用[4]中的例子是sp_helpdb,但可能用户提到的sp_help属于同一类系统存储过程。需要确认sp_help的参数和输出。例如,执行sp_help '索引名'可能会显示该索引的详细信息,如所属表、列、类型等。 另外,用户可能想知道如何获取特定表的索引信息。这时候可能需要结合其他存储过程,比如sp_helpindex,但用户的问题是关于sp_help的。需要明确sp_help是否可以显示索引信息,或者是否需要其他命令。 还需要考虑用户可能的错误,比如混淆了sp_helpsp_helpindex。因此,在回答中应该区分这两者的不同,并指出正确的用法。例如,sp_help用于对象整体信息,而sp_helpindex专门用于索引。 此外,根据引用[3]提到的统计信息更新,可能索引相关的统计信息可以通过其他存储过程如sp_updatestats来更新,但用户的问题更侧重于查看索引信息,所以可能不需要涉及这部分。 最后,确保回答的结构清晰,先介绍sp_help的基本用法,再具体到索引部分,并提供示例代码,如使用sp_help '索引名'或结合表名来获取信息。同时,生成相关问题,帮助用户进一步探索。</think>在 SQL Server 中,`sp_help` 是用于显示数据库对象信息的系统存储过程。要查看**索引相关的信息**,可通过以下方法使用: ### 1. **查看表的索引信息** ```sql EXEC sp_help '表名'; ``` 执行后会返回表的结构、约束、索引等详细信息。在结果集的**索引**部分会列出: - 索引名称(如 `PK_主键索引名`) - 索引类型(聚集/非聚集) -
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值