Share via


sp_help (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

データベース オブジェクト (互換性ビューにリストされている任意の sys.sysobjects オブジェクト)、ユーザー定義データ型、またはデータ型に関する情報を報告します。

Transact-SQL 構文表記規則

構文

sp_help [ [ @objname = ] N'objname' ]
[ ; ]

引数

[ @objname = ] N'objname'

テーブル内の任意のオブジェクト、または sys.sysobjects ユーザー定義データ型の sys.systypes 名前。 @objnameは nvarchar(776) で、既定値は NULL. データベース名は使用できません。 2 つまたは 3 つの部分の名前は、次のようにPerson.AddressType[Person].[AddressType]区切られます。

リターン コードの値

0 (成功) または 1 (失敗)。

結果セット

返される結果セットは、@nameが指定されているかどうか、いつ指定されたか、およびどのデータベース オブジェクトであるかによって異なります。

  1. sp_help引数なしで実行すると、現在のデータベースに存在するすべての型のオブジェクトの概要情報が返されます。

    列名 データ型 説明
    Name 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 10 進数の右側の桁数。
    Nullable varchar(35) 値を許可するかどうかをNULL示します。 YesNo
    Default_name nvarchar(128) このデータ型にバインドされた既定値の名前です。

    NULL = 既定値はバインドされません。
    Rule_name nvarchar(128) このデータ型にバインドされたルールの名前です。

    NULL = 既定値はバインドされません。
    Collation sysname データ型の照合順序。 NULL 文字以外のデータ型の場合。
  3. @nameがデータ型以外のデータベース オブジェクトである場合は、sp_help指定されたオブジェクトの種類に基づいて、この結果セットと追加の結果セットも返します。

    列名 データ型 説明
    Name nvarchar(128) テーブル名
    Owner nvarchar(128) テーブル所有者
    Type nvarchar(31) テーブルの種類です。
    Created_datetime datetime 作成日テーブル

    指定されたデータベース オブジェクトに応じて、 sp_help 追加の結果セットが返されます。

    @nameがシステム テーブル、ユーザー テーブル、またはビューの場合は、sp_help次の結果セットを返します。 ただし、データ ファイルがファイル グループ上のどこにあるかを説明する結果セットは、ビューには返されません。

    • 列オブジェクトには、次の結果セットも返されます。

      列名 データ型 説明
      Column_name nvarchar(128) 列名。
      Type nvarchar(128) 列のデータ型。
      Computed varchar(35) 列の値が計算 YesNoされるかどうかを示します。
      Length int 列の長さ (バイト単位)。

      注: 列データ型が大きな値型 (varchar(max)、nvarchar(max)varbinary(max)、または xml) の場合、値-1は .
      Prec char(5) 列の有効桁数。
      Scale char(5) 列の小数点以下桁数です。
      Nullable varchar(35) 列で値を使用できるかどうかをNULL示します。 YesNo
      TrimTrailingBlanks varchar(35) 末尾の空白をトリミングします。 Yes または Noを返します。
      FixedLenNullInSource varchar(35) これは旧バージョンとの互換性のためにだけ用意されています。
      Collation sysname 列の照合順序。 NULL 非文字データ型の場合。
    • ID 列には、次の結果セットも返されます。

      列名 データ型 説明
      Identity nvarchar(128) データ型が ID として宣言されている列名。
      Seed numeric ID 列の開始値。
      Increment numeric この列の値に使用する増分値。
      Not For Replication int IDENTITYsqlrepl などのレプリケーション ログインがテーブルにデータを挿入する場合、プロパティは適用されません。

      1 = True
      0 = False
    • 列には、次の結果セットも返されます。

      列名 データ型 説明
      RowGuidCol sysname 一意なグローバル識別子列の名前です。
    • ファイル グループでは、次の結果セットも返されます。

      列名 データ型 説明
      Data_located_on_filegroup nvarchar(128) データが配置されているファイル グループ: PrimarySecondaryまたは Transaction Log.
    • インデックスでは、次の結果セットも返されます。

      列名 データ型 説明
      index_name sysname インデックス名。
      Index_description varchar(210) インデックスの説明です。
      index_keys nvarchar(2078) インデックスが作成される列名。 NULLメモリ最適化列ストア インデックスの値を返します。
    • 制約に対しても、次の結果セットが返されます。

      列名 データ型 説明
      constraint_type nvarchar(146) 制約の型。
      constraint_name nvarchar(128) 制約の名前。
      delete_action nvarchar(9) アクションが SET_NULLSET_DEFAULTNO_ACTIONCASCADEDELETEまたは .N/A

      ただし、FOREIGN KEY 制約にだけ適用されます。
      update_action nvarchar(9) アクションが SET_NULLSET_DEFAULTNO_ACTIONCASCADEUPDATEまたは .N/A

      制約にのみ適用されます FOREIGN KEY
      status_enabled varchar(8) 制約が有効になっているかどうかを示します。 EnabledDisabledN/A

      適用対象 CHECKFOREIGN KEY 制約のみ。
      status_for_replication varchar(19) 制約がレプリケーションを対象とするのかどうかを示します。

      適用対象 CHECKFOREIGN KEY 制約のみ。
      constraint_keys nvarchar(2078) 制約を構成する列の名前です。デフォルトおよびルールの場合は、デフォルトまたはルールを定義するテキストです。
    • 参照するオブジェクトでも、次の結果セットが返されます。

      列名 データ型 説明
      Table is referenced by nvarchar(516) テーブルを参照する他のデータベース オブジェクトを識別します。
    • 次の結果セットは、ストアド プロシージャ、関数、または拡張ストアド プロシージャでも返されます。

      列名 データ型 説明
      Parameter_name nvarchar(128) ストアド プロシージャのパラメーター名。
      Type nvarchar(128) ストアド プロシージャ パラメーターのデータ型。
      Length smallint 物理ストレージの最大長 (バイト単位)。
      Prec int 有効桁数または合計桁数。
      Scale int 小数点以下の桁数。
      Param_order smallint パラメーターの順番です。

解説

プロシージャは sp_help 、現在のデータベース内のオブジェクトのみを検索します。

@nameが指定されていない場合は、sp_help現在のデータベース内のすべてのオブジェクトのオブジェクト名、所有者、およびオブジェクトの種類が一覧表示されます。 sp_helptrigger は、トリガーに関する情報を提供します。

sp_help は順序付け可能なインデックス列のみを公開します。そのため、XML インデックスや空間インデックスに関する情報は公開されません。

アクセス許可

ロール public のメンバーシップが必要です。 ユーザーは、@objnameに対して少なくとも 1 つのアクセス許可を持っている必要があります。 列制約キー、既定値、または規則を表示するには、テーブルに対するアクセス許可が VIEW DEFINITION 必要です。

この記事の Transact-SQL コード サンプルは AdventureWorks2022 サンプル データベースを使用します。このサンプル データベースは、Microsoft SQL Server サンプルとコミュニティ プロジェクトのホーム ページからダウンロードできます。

A. すべてのオブジェクトに関する情報を返す

次の例では、データベース内の各オブジェクトに関する情報を master 一覧表示します。

USE master;
GO
EXEC sp_help;
GO

B. 1 つのオブジェクトに関する情報を返す

次の例では、テーブルに関する情報を Person.Person 表示します。

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