sp_help (Transact-SQL)

データベース オブジェクト (sys.sysobjects 互換性ビューに一覧表示されるすべてのオブジェクト)、ユーザー定義データ型、またはデータ型についての情報をレポートします。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

sp_help [ [ @objname = ] 'name' ]

引数

  • [ @objname=] 'name'
    sysobjects テーブル内のオブジェクト、または systypes テーブル内のユーザー定義データ型の名前を指定します。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 値を許すかどうかを示します。この値は Yes または No です。

    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 は次の結果セットを返します。ただし、ビューに対しては、データ ファイルがファイル グループ内のどこに配置されているかを表す結果セットは返されません。

    • 列オブジェクトに関して次の結果セットが返されます。

      列名

      データ型

      説明

      列名

      nvarchar(128)

      列名です。

      nvarchar(128)

      列のデータ型です。

      Computed

      varchar(35)

      計算列かどうかを示します。この値は Yes または No です。

      Length

      int

      列のバイト数です。

      注意
      列のデータ型が大きい値の型 (varchar(max)nvarchar(max)varbinary(max)、または xml) である場合、表示される値は -1 になります。

      Prec

      char(5)

      列の有効桁数です。

      Scale

      char(5)

      列の小数点以下桁数です。

      Nullable

      varchar(35)

      列内で NULL 値を許すかどうかを示します。この値は Yes または No です。

      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

      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 のどれであるかを示します。SET_NULL と SET_DEFAULT は No Action として表示されます。

      ただし、FOREIGN KEY 制約にだけ適用されます。

      status_enabled

      varchar(8)

      制約が有効であるかどうかを示します。この値は Enabled、Disabled、N/A のいずれかです。SET_NULL と SET_DEFAULT は No Action として表示されます。

      ただし、CHECK および FOREIGN KEY 制約にだけ適用されます。

      status_for_replication

      varchar(19)

      制約がレプリケーションを対象とするのかどうかを示します。

      ただし、CHECK および FOREIGN KEY 制約にだけ適用されます。

      constraint_keys

      nvarchar(2078)

      制約を構成する列の名前です。デフォルトおよびルールの場合は、デフォルトまたはルールを定義するテキストです。

    • 参照元のオブジェクトに関して次の結果セットが返されます。

      列名

      データ型

      説明

      Table is referenced by

      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 に対する権限を 1 つ以上持っている必要があります。列の制約キー、既定値、またはルールを表示するには、テーブルに対する VIEW DEFINITION 権限が必要です。

使用例

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

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

USE master;
GO
EXEC sp_help;
GO

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

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

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