sp_help (Transact-SQL)

報告有關資料庫物件 (sys.sysobjects 相容性檢視中所列出的任何物件)、使用者定義資料類型或資料類型的資訊。

主題連結圖示Transact-SQL 語法慣例

語法

sp_help [ [ @objname = ] 'name' ]

引數

  • [ @objname=] 'name'
    這是 sysobjectssystypes 資料表中的任何使用者自訂資料類型中之任何物件的名稱。name 是 nvarchar(776),預設值是 NULL。不接受資料庫名稱。

傳回碼值

0 (成功) 或 1 (失敗)

結果集

傳回的結果集會隨著是否指定及何時指定 name,以及它是什麼資料庫物件而不同。

  1. 如果執行 sp_help 時,未設定任何引數,就會傳回目前資料庫中所有類型物件的摘要資訊。

    資料行名稱

    資料類型

    說明

    名稱

    nvarchar(128)

    物件名稱

    Owner

    nvarchar(128)

    物件擁有者

    Object_type

    nvarchar(31)

    物件類型

  2. 如果 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。

  3. 如果 name 是資料類型以外的任何資料庫物件,sp_help 會傳回這個結果集,也會根據指定的物件類型傳回其他結果集。

    資料行名稱

    資料類型

    說明

    名稱

    nvarchar(128)

    資料表名稱

    Owner

    nvarchar(128)

    資料表擁有者

    型別

    nvarchar(31)

    資料表類型

    Created_datetime

    datetime

    資料表的建立日期

    隨著所指定的資料庫物件而不同,sp_help 會傳回其他結果集。

    如果 name 是系統資料表、使用者資料表或檢視,sp_help 會傳回下列結果集。不過,不會傳回描述資料檔在檔案群組中之位置的結果集。

    • 在資料行物件上傳回的其他結果集:

      資料行名稱

      資料類型

      說明

      Column_name

      nvarchar(128)

      資料行名稱。

      型別

      nvarchar(128)

      資料行資料類型。

      Computed

      varchar(35)

      指出是否計算資料行中的值:[是] 或 [否]。

      Length

      int

      資料行長度 (以位元組為單位)。

      附註附註
      如果資料行資料類型是大數值類型 (varchar(max)nvarchar(max)varbinary(max)xml),則此值將會顯示為 -1。

      Prec

      char(5)

      資料行有效位數。

      Scale

      char(5)

      資料行小數位數。

      Nullable

      varchar(35)

      指出資料行是否允許 NULL 值:[是] 或 [否]。

      TrimTrailingBlanks

      varchar(35)

      修剪尾端空白。傳回 [是] 或 [否]。

      FixedLenNullInSource

      varchar(35)

      只是為了與舊版相容。

      Collation

      sysname

      資料行的定序。非字元資料類型是 NULL。

    • 在識別欄位上傳回的其他結果集:

      資料行名稱

      資料類型

      說明

      Identity

      nvarchar(128)

      資料類型宣告為識別的資料行名稱。

      Seed

      numeric

      識別欄位的起始值。

      Increment

      numeric

      這個資料行的值所用的遞增。

      不適用於複寫

      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 動作是:無動作、CASCADE 或 N/A。

      只適用於 FOREIGN KEY 條件約束。

      update_action

      nvarchar(9)

      指出 UPDATE 動作是:無動作、串聯或 N/A。SET_NULL 和 SET_DEFAULT 顯示為無動作。

      只適用於 FOREIGN KEY 條件約束。

      status_enabled

      varchar(8)

      指出是否啟用條件約束:已啟用、已停用或 N/A。SET_NULL 和 SET_DEFAULT 顯示為無動作。

      只適用於 CHECK 和 FOREIGN KEY 條件約束。

      status_for_replication

      varchar(19)

      指出條件約束是否針對複寫。

      只適用於 CHECK 和 FOREIGN KEY 條件約束。

      constraint_keys

      nvarchar(2078)

      組成條件約束的資料行名稱,如果是預設值和規則,便是定義預設值或規則的文字。

    • 在進行參考的物件上傳回的其他結果集:

      資料行名稱

      資料類型

      說明

      資料表的參考者

      nvarchar(516)

      識別參考資料表的其他資料庫物件。

    • 在預存程序、函數或擴充預存程序上傳回的其他結果集。

      資料行名稱

      資料類型

      說明

      Parameter_name

      nvarchar(128)

      預存程序參數名稱。

      型別

      nvarchar(128)

      預存程序參數的資料類型。

      Length

      smallint

      最大的實體儲存體長度 (以位元組為單位)。

      Prec

      int

      有效位數或總位數。

      Scale

      int

      小數點右側的位數。

      Param_order

      smallint

      參數的順序。

備註

sp_help 程序只會在目前資料庫中尋找物件。

當未指定 name 時,sp_help 會列出目前資料庫中所有物件的物件名稱、擁有者和物件類型。sp_helptrigger 會提供觸發程序的相關資訊。

sp_help 僅會公開可排序的索引資料行;因此,它不會公開 XML 索引或空間索引的相關資訊。

權限

需要 public 角色中的成員資格。使用者至少必須有 objname 的一個權限。若要檢視資料行條件約束索引鍵、預設值或規則,您必須具有此資料表的 VIEW DEFINITION 權限。

範例

A. 傳回所有物件的相關資訊

下列範例會列出 master 資料庫中每個物件的相關資訊。

USE master;
GO
EXEC sp_help;
GO

B. 傳回單一物件的相關資訊

下列範例會顯示 Person 資料表中 Person 資料行的相關資訊。

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