適用対象:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Microsoft Fabric の SQL データベース
データベース オブジェクト ( sys.sysobjects 互換性ビューにリストされている任意のオブジェクト)、ユーザー定義データ型、またはデータ型に関する情報を報告します。
構文
sp_help [ [ @objname = ] N'objname' ]
[ ; ]
引数
[ @objname = ] ノーブジネーム
sys.sysobjects内の任意のオブジェクトの名前、またはsys.systypes テーブル内の任意のユーザー定義データ型。
@objname は nvarchar(776) で、既定値は NULL です。 データベース名は使用できません。
Person.AddressTypeや[Person].[AddressType]など、2 つまたは 3 つの部分の名前を区切る場合があります。
リターン コードの値
0 (成功) または 1 (失敗)。
結果セット
返される結果セットは、 @name が指定されているかどうか、いつ指定されたか、およびどのデータベース オブジェクトであるかによって異なります。
引数なしで
sp_helpを実行すると、現在のデータベースに存在するすべての型のオブジェクトの概要情報が返されます。列名 データ型 説明 Namenvarchar(128) オブジェクト名です。 Ownernvarchar(128) オブジェクト所有者 (オブジェクトを所有するデータベース プリンシパル。既定値は、オブジェクトを含むスキーマの所有者です)。 Object_typenvarchar(31) オブジェクトの種類 @nameが SQL Server データ型またはユーザー定義データ型の場合、
sp_helpはこの結果セットを返します。列名 データ型 説明 Type_namenvarchar(128) データ型名。 Storage_typenvarchar(128) SQL Server 型名。 Lengthsmallint データ型の物理長 (バイト単位)。 Precint 有効桁数 (合計桁数)。 Scaleint 10 進数の右側の桁数。 Nullablevarchar(35) NULL値を許可するかどうかを示します(YesまたはNo)。Default_namenvarchar(128) このデータ型にバインドされた既定値の名前です。
NULL= 既定値はバインドされません。Rule_namenvarchar(128) このデータ型にバインドされたルールの名前です。
NULL= 既定値はバインドされません。Collationsysname データ型の照合順序。 NULL文字以外のデータ型の場合。@nameがデータ型以外のデータベース オブジェクトである場合、
sp_helpは、指定されたオブジェクトの種類に基づいて、この結果セットと追加の結果セットも返します。列名 データ型 説明 Namenvarchar(128) テーブル名 Ownernvarchar(128) テーブル所有者 Typenvarchar(31) テーブルの種類です。 Created_datetimedatetime 作成日テーブル 指定されたデータベース オブジェクトに応じて、
sp_helpは追加の結果セットを返します。@nameがシステム テーブル、ユーザー テーブル、またはビューの場合、
sp_helpは次の結果セットを返します。 ただし、データ ファイルがファイル グループ上のどこにあるかを説明する結果セットは、ビューには返されません。列オブジェクトには、次の結果セットも返されます。
列名 データ型 説明 Column_namenvarchar(128) 列名。 Typenvarchar(128) 列のデータ型。 Computedvarchar(35) 列の値が計算されるかどうかを示します( YesまたはNo)。Lengthint 列の長さ (バイト単位)。
注: 列のデータ型が大きな値型 (varchar(max)、 nvarchar(max)、 varbinary(max)、または xml) の場合、値は-1として表示されます。Precchar(5) 列の有効桁数。 Scalechar(5) 列の小数点以下桁数です。 Nullablevarchar(35) 列 NULL値 (YesまたはNo) を使用できるかどうかを示します。TrimTrailingBlanksvarchar(35) 末尾の空白をトリミングします。 YesまたはNoを返します。FixedLenNullInSourcevarchar(35) このパラメーターは非推奨であり、スクリプトの下位互換性のために保持されます。 Collationsysname 列の照合順序。 NULL非文字データ型の場合。ID 列には、次の結果セットも返されます。
列名 データ型 説明 Identitynvarchar(128) データ型が ID として宣言されている列名。 Seednumeric ID 列の開始値。 Incrementnumeric この列の値に使用する増分値。 Not For Replicationint IDENTITYsqlrepl などのレプリケーション ログインがテーブルにデータを挿入する場合、プロパティは適用されません。
1= 真
0= 誤り列には、次の結果セットも返されます。
列名 データ型 説明 RowGuidColsysname 一意なグローバル識別子列の名前です。 ファイル グループでは、次の結果セットも返されます。
列名 データ型 説明 Data_located_on_filegroupnvarchar(128) データが配置されているファイル グループ ( Primary、Secondary、またはTransaction Log)。インデックスでは、次の結果セットも返されます。
列名 データ型 説明 index_namesysname インデックス名。 Index_descriptionvarchar(210) インデックスの説明です。 index_keysnvarchar(2078) インデックスが作成される列名。 メモリ最適化列ストア インデックスの NULLを返します。制約に対しても、次の結果セットが返されます。
列名 データ型 説明 constraint_typenvarchar(146) 制約の型。 constraint_namenvarchar(128) 制約の名前。 delete_actionnvarchar(9) DELETEアクションが、NO_ACTION、CASCADE、SET_NULL、SET_DEFAULT、またはN/Aのいずれであるかを示します。
ただし、FOREIGN KEY 制約にだけ適用されます。update_actionnvarchar(9) UPDATEアクションが、NO_ACTION、CASCADE、SET_NULL、SET_DEFAULT、またはN/Aのいずれであるかを示します。
FOREIGN KEY制約にのみ適用されます。status_enabledvarchar(8) 制約が有効かどうか ( Enabled、Disabled、またはN/A) を示します。
CHECK制約とFOREIGN KEY制約にのみ適用されます。status_for_replicationvarchar(19) 制約がレプリケーションを対象とするのかどうかを示します。
CHECK制約とFOREIGN KEY制約にのみ適用されます。constraint_keysnvarchar(2078) 制約を構成する列の名前です。デフォルトおよびルールの場合は、デフォルトまたはルールを定義するテキストです。 参照するオブジェクトでも、次の結果セットが返されます。
列名 データ型 説明 Table is referenced bynvarchar(516) テーブルを参照する他のデータベース オブジェクトを識別します。 次の結果セットは、ストアド プロシージャ、関数、または拡張ストアド プロシージャでも返されます。
列名 データ型 説明 Parameter_namenvarchar(128) ストアド プロシージャのパラメーター名。 Typenvarchar(128) ストアド プロシージャ パラメーターのデータ型。 Lengthsmallint 物理ストレージの最大長 (バイト単位)。 Precint 有効桁数または合計桁数。 Scaleint 小数点以下の桁数。 Param_ordersmallint パラメーターの順番です。
解説
sp_help プロシージャは、現在のデータベース内のオブジェクトのみを検索します。
@nameが指定されていない場合、sp_helpは現在のデータベース内のすべてのオブジェクトのオブジェクト名、所有者、およびオブジェクトの種類を一覧表示します。
sp_helptrigger は、トリガーに関する情報を提供します。
sp_help は順序付け可能なインデックス列のみを公開します。そのため、XML インデックスや空間インデックスに関する情報は公開されません。
アクセス許可
ロール public のメンバーシップが必要です。 ユーザーは、 @objnameに対して少なくとも 1 つのアクセス許可を持っている必要があります。 列制約キー、既定値、または規則を表示するには、テーブルに対する VIEW DEFINITION 権限が必要です。
例
この記事のコード サンプルでは、AdventureWorks2025 または AdventureWorksDW2025 サンプル データベースを使用します。このサンプル データベースは、Microsoft SQL Server サンプルとコミュニティ プロジェクト ホーム ページからダウンロードできます。
A. すべてのオブジェクトに関する情報を返す
次の例では、 master データベース内の各オブジェクトに関する情報を一覧表示します。
USE master;
GO
EXECUTE sp_help;
GO
B. 1 つのオブジェクトに関する情報を返す
次の例では、 Person.Person テーブルに関する情報を表示します。
USE AdventureWorks2022;
GO
EXECUTE sp_help 'Person.Person';
GO