sp_help (Transact-SQL)

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體

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

Transact-SQL 語法慣例

語法

  
sp_help [ [ @objname = ] 'name' ]  

引數

[ @objname = ] 'name'這是 sysobjects 或 systypes 資料表中 任何使用者定義資料類型的任何物件 名稱。 name Nvarchar( 776 ), 預設值為 Null。 無法接受資料庫名稱。 可以分隔兩或三個部分名稱,例如 'Person.AddressType' 或 '[Person]。[AddressType]'。

傳回碼值

0 (成功) 或 1 (失敗)

結果集

傳回的結果集取決於是否 指定名稱 、指定時,以及它所在的資料庫物件。

  1. 如果沒有 引數執行sp_help ,則會傳回目前資料庫中所有類型物件的摘要資訊。

    資料行名稱 資料類型 描述
    名稱 Nvarchar( 128 Object name
    負責人 Nvarchar( 128 物件擁有者 (這是擁有 物件的資料庫主體。預設為包含 物件的架構擁有者。
    Object_type Nvarchar( 31 Object type
  2. 如果 name 是 SQL Server 資料類型或使用者定義資料類型, sp_help 會傳回此結果集。

    資料行名稱 資料類型 描述
    Type_name Nvarchar( 128 資料類型名稱。
    Storage_type Nvarchar( 128 SQL Server 類型名稱。
    長度 smallint 資料類型的實體長度(以位元組為單位)。
    Prec int 有效位數(位數總數)。
    縮放規模 int 小數點右邊的數位數。
    可為 Null Varchar( 35 指出是否允許 Null 值:是或否。
    Default_name Nvarchar( 128 系結至此類型之預設的名稱。

    Null = 沒有系結預設值。
    Rule_name Nvarchar( 128 系結至此類型之規則的名稱。

    Null = 沒有系結預設值。
    定序 sysname 資料類型的定序。 非字元資料類型的 Null。
  3. 如果 name 是資料類型以外的任何資料庫物件, sp_help 會根據指定的物件類型傳回此結果集和其他結果集。

    資料行名稱 資料類型 描述
    名稱 Nvarchar( 128 資料表名稱
    負責人 Nvarchar( 128 資料表擁有者
    類型 Nvarchar( 31 資料表類型
    Created_datetime datetime 建立日期資料表

    視指定的資料庫物件而定, sp_help 會傳回其他結果集。

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

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

      資料行名稱 資料類型 描述
      Column_name Nvarchar( 128 資料行名稱。
      類型 Nvarchar( 128 資料行資料類型。
      計算 Varchar( 35 指出資料行中的值是否計算:是或否。
      長度 int 以位元組為單位的資料行長度。

      注意:如果資料行資料類型是大型實數值型別 ( Varchar(max)、 Nvarchar(max) Varbinary(max) xml ),則值會顯示為 -1。
      Prec char( 5 資料行有效位數。
      縮放規模 char( 5 資料行小數位數。
      可為 Null Varchar( 35 指出資料行中是否允許 Null 值:是或否。
      TrimTrailingBlanks Varchar( 35 修剪尾端空白。 會傳回 [是] 或 [否]。
      FixedLenNullInSource Varchar( 35 只是為了與舊版相容。
      定序 sysname 資料行的定序。 非字元資料類型的 Null。
    • 在識別資料行上傳回的其他結果集:

      資料行名稱 資料類型 描述
      身分識別 Nvarchar( 128 資料類型宣告為身分識別的資料行名稱。
      種子 numeric 識別資料行的起始值。
      [遞增] 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 建立索引的資料行名稱。 傳回 xVelocity 記憶體優化資料行存放區索引的 Null。
    • 在條件約束上傳回的其他結果集:

      資料行名稱 資料類型 描述
      constraint_type Nvarchar( 146 條件約束的類型。
      constraint_name Nvarchar( 128 條件約束的名稱。
      delete_action Nvarchar( 9 指出 DELETE 動作是否為:NO_ACTION、CASCADE、SET_Null、SET_DEFAULT 或 N/A。

      僅適用于 FOREIGN KEY 條件約束。
      update_action Nvarchar( 9 指出 UPDATE 動作是否為:NO_ACTION、CASCADE、SET_Null、SET_DEFAULT 或 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 組成條件約束的資料行名稱,或者,如果是預設值和規則,則為定義預設或規則的文字。
    • 參考物件時傳回的其他結果集:

      資料行名稱 資料類型 描述
      資料表參考者 Nvarchar( 516 識別參考資料表的其他資料庫物件。
    • 預存程式、函式或擴充預存程式傳回的其他結果集。

      資料行名稱 資料類型 描述
      Parameter_name Nvarchar( 128 預存程式參數名稱。
      類型 Nvarchar( 128 預存程式參數的資料類型。
      長度 smallint 實體儲存體長度上限,以位元組為單位。
      Prec int 有效位數或數位總數。
      縮放規模 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

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

另請參閱

Database Engine 預存程式 (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)