SQL Server スキーマ コレクション
適用対象: .NET Framework .NET .NET Standard
Microsoft SqlClient Data Provider for SQL Server では、一般的なスキーマ コレクションに加え、追加のスキーマ コレクションもサポートされています。 スキーマ コレクションは、使用している SQL Server のバージョンによって多少異なります。 サポートされるスキーマ コレクションの一覧を確認するには、引数を指定しないで、またはスキーマ コレクション名に "MetaDataCollections" を指定して、GetSchema メソッドを呼び出します。 これにより、サポートされるスキーマ コレクションの一覧、それぞれがサポートする制限数、および使用する識別子部分の数と共に、DataTable が返されます。
データベース
ColumnName | DataType | 説明 |
---|---|---|
database_name | String | データベース名。 |
dbid | Int16 | データベース ID。 |
create_date | DateTime | データベースの作成日。 |
外部キー
ColumnName | DataType | 説明 |
---|---|---|
CONSTRAINT_CATALOG | String | 制約が属するカタログ。 |
CONSTRAINT_SCHEMA | String | 制約を含むスキーマ。 |
CONSTRAINT_NAME | String | 名前。 |
TABLE_CATALOG | String | 制約が含まれるテーブル名。 |
TABLE_SCHEMA | String | テーブルを含むスキーマ。 |
TABLE_NAME | String | テーブル名 |
CONSTRAINT_TYPE | String | 制約の型。 "FOREIGN KEY" だけが許可されています。 |
IS_DEFERRABLE | String | 制約を遅延可能にするかどうかを指定します。 NO が返されます。 |
INITIALLY_DEFERRED | String | 制約を最初に遅延可能にするかどうかを指定します。 NO が返されます。 |
Indexes
ColumnName | DataType | 説明 |
---|---|---|
constraint_catalog | String | インデックスが属するカタログ。 |
constraint_schema | String | インデックスを含むスキーマ。 |
constraint_name | String | インデックス名。 |
table_catalog | String | インデックスが関連付けられているテーブル名。 |
table_schema | String | インデックスが関連付けられているテーブルを含むスキーマ。 |
table_name | String | テーブル名。 |
index_name | String | インデックス名。 |
type_desc | String | インデックスの種類。次のいずれかの値になります。 - HEAP - CLUSTERED - NONCLUSTERED - XML - SPATIAL |
IndexColumns
ColumnName | DataType | 説明 |
---|---|---|
constraint_catalog | String | インデックスが属するカタログ。 |
constraint_schema | String | インデックスを含むスキーマ。 |
constraint_name | String | インデックス名。 |
table_catalog | String | インデックスが関連付けられているテーブル名。 |
table_schema | String | インデックスが関連付けられているテーブルを含むスキーマ。 |
table_name | String | テーブル名。 |
column_name | String | インデックスが関連付けられている列名。 |
ordinal_position | Int32 | 列の位置を示す序数。 |
KeyType | Byte | オブジェクトの型。 |
index_name | String | インデックス名。 |
プロシージャ
ColumnName | DataType | 説明 |
---|---|---|
SPECIFIC_CATALOG | String | カタログ固有の名前。 |
SPECIFIC_SCHEMA | String | スキーマ固有の名前。 |
SPECIFIC_NAME | String | カタログ固有の名前。 |
ROUTINE_CATALOG | String | ストアド プロシージャが属するカタログ。 |
ROUTINE_SCHEMA | String | ストアド プロシージャを含むスキーマ。 |
ROUTINE_NAME | String | ストアド プロシージャの名前。 |
ROUTINE_TYPE | String | ストアド プロシージャには PROCEDURE が返され、関数には FUNCTION が返されます。 |
CREATED | DateTime | プロシージャが作成された日時。 |
LAST_ALTERED | DateTime | プロシージャの最終更新日時。 |
Procedure Parameters
ColumnName | DataType | 説明 |
---|---|---|
SPECIFIC_CATALOG | String | このパラメーターを受け取るプロシージャのカタログ名。 |
SPECIFIC_SCHEMA | String | このパラメーターを受け取るプロシージャを含むスキーマ。 |
SPECIFIC_NAME | String | このパラメーターを受け取るとるプロシージャ名。 |
ORDINAL_POSITION | Int32 | パラメーターの位置を示す 1 から始まる序数。 プロシージャの戻り値については 0 になります。 |
PARAMETER_MODE | String | 入力パラメーターでは IN が返され、出力パラメーターでは OUT が返され、I/O パラメーターでは INOUT が返されます。 |
IS_RESULT | String | プロシージャの結果が関数を表す場合には YES が返されます。 その他の場合は NO が返されます。 |
AS_LOCATOR | String | ロケーターとして宣言された場合は YES が返されます。 その他の場合は NO が返されます。 |
PARAMETER_NAME | String | パラメーターの名前。 関数の戻り値に相当する場合は NULL になります。 |
DATA_TYPE | String | システムにより提供されるデータ型。 |
CHARACTER_MAXIMUM_LENGTH | Int32 | バイナリまたは文字データ型の文字列の最大長。 その他の場合は NULL が返されます。 |
CHARACTER_OCTET_LENGTH | Int32 | バイナリまたは文字データ型の最大バイト数。 その他の場合は NULL が返されます。 |
COLLATION_CATALOG | String | パラメーター照合のカタログ名。 文字型の 1 つでない場合は、NULL が返されます。 |
COLLATION_SCHEMA | String | 常に NULL が返されます。 |
COLLATION_NAME | String | パラメーター照合の名前。 文字型の 1 つでない場合は、NULL が返されます。 |
CHARACTER_SET_CATALOG | String | パラメーターの文字セットのカタログ名。 文字型の 1 つでない場合は、NULL が返されます。 |
CHARACTER_SET_SCHEMA | String | 常に NULL が返されます。 |
CHARACTER_SET_NAME | String | パラメーターの文字セット名。 文字型の 1 つでない場合は、NULL が返されます。 |
NUMERIC_PRECISION | Byte | 数値データの概数、正確な数値データ、整数データ、または通貨データの有効桁数。 その他の場合は NULL が返されます。 |
NUMERIC_PRECISION_RADIX | Int16 | 数値データの概数、正確な数値データ、整数データ、または通貨データの有効桁数の基数。 その他の場合は NULL が返されます。 |
NUMERIC_SCALE | Int32 | 数値データの概数、正確な数値データ、整数データ、または通貨データの桁数。 その他の場合は NULL が返されます。 |
DATETIME_PRECISION | Int16 | パラメーターの型が datetime または smalldatetime である場合の秒数の小数部の有効桁数。 その他の場合は NULL が返されます。 |
INTERVAL_TYPE | String | NULL。 将来 SQL Server で使用するために予約されています。 |
INTERVAL_PRECISION | Int16 | NULL。 将来 SQL Server で使用するために予約されています。 |
[テーブル]
ColumnName | DataType | 説明 |
---|---|---|
TABLE_CATALOG | String | テーブルのカタログ。 |
TABLE_SCHEMA | String | テーブルを含むスキーマ。 |
TABLE_NAME | String | テーブル名。 |
TABLE_TYPE | String | テーブルの型。 VIEW または BASE TABLE のいずれかです。 |
列
ColumnName | DataType | 説明 |
---|---|---|
TABLE_CATALOG | String | テーブルのカタログ。 |
TABLE_SCHEMA | String | テーブルを含むスキーマ。 |
TABLE_NAME | String | テーブル名。 |
COLUMN_NAME | String | 列名。 |
ORDINAL_POSITION | Int32 | 列の識別番号。 |
COLUMN_DEFAULT | String | 列の既定値。 |
IS_NULLABLE | String | 列に NULL 値が許容されるかどうかを指定します。 この列に NULL が許容される場合は、YES が返されます。 その他の場合は NO が返されます。 |
DATA_TYPE | String | システムにより提供されるデータ型。 |
CHARACTER_MAXIMUM_LENGTH | Int32 – Sql8、Int16 – Sql7 | バイナリ データ、文字データ、またはテキストおよびイメージ データの最大文字列長。 その他の場合は NULL が返されます。 |
CHARACTER_OCTET_LENGTH | Int32 – SQL8、Int16 – Sql7 | バイナリ データ、文字データ、またはテキストおよびイメージ データの最大バイト長。 その他の場合は NULL が返されます。 |
NUMERIC_PRECISION | Unsigned Byte | 数値データの概数、正確な数値データ、整数データ、または通貨データの有効桁数。 その他の場合は NULL が返されます。 |
NUMERIC_PRECISION_RADIX | Int16 | 数値データの概数、正確な数値データ、整数データ、または通貨データの有効桁数の基数。 その他の場合は NULL が返されます。 |
NUMERIC_SCALE | Int32 | 数値データの概数、正確な数値データ、整数データ、または通貨データの桁数。 その他の場合は NULL が返されます。 |
DATETIME_PRECISION | Int16 | 日付時刻データ型および SQL-92 interval データ型のサブタイプ コード。 その他のデータ型に対しては NULL が返されます。 |
CHARACTER_SET_CATALOG | String | 列が文字データ型またはテキスト データ型である場合は、文字セットがあるデータベースを示すマスターが返されます。 その他の場合は NULL が返されます。 |
CHARACTER_SET_SCHEMA | String | 常に NULL が返されます。 |
CHARACTER_SET_NAME | String | この列が文字データ型またはテキスト データ型である場合、文字セットの一意の名前が返されます。 その他の場合は NULL が返されます。 |
COLLATION_CATALOG | String | 列が文字データ型またはテキスト データ型である場合は、照合順序が定義されているデータベースを示すマスターが返されます。 その他の場合、この列は NULL になります。 |
IS_FILESTREAM | String | 列に FILESTREAM 属性がある場合は YES。 列には FILESTREAM 属性がない場合は NO。 |
IS_SPARSE | String | 列がスパース列である場合は YES。 列がスパース列でない場合は NO。 |
IS_COLUMN_SET | String | 列が列セットの列である場合は YES。 列が列セットの列でない場合は NO。 |
AllColumns
AllColumns スキーマ コレクションは、スパース列をサポートするために使用されます。 AllColumns の制限と生成される DataTable スキーマは、Columns スキーマ コレクションと同じです。 相違は、Columns スキーマ コレクションに含まれていない列セットの列が AllColumns に含まれている点のみです。 次の表では、それらの列について説明します。
ColumnName | DataType | 説明 |
---|---|---|
TABLE_CATALOG | String | テーブルのカタログ。 |
TABLE_SCHEMA | String | テーブルを含むスキーマ。 |
TABLE_NAME | String | テーブル名。 |
COLUMN_NAME | String | 列名。 |
ORDINAL_POSITION | Int32 | 列の識別番号。 |
COLUMN_DEFAULT | String | 列の既定値。 |
IS_NULLABLE | String | 列に NULL 値が許容されるかどうかを指定します。 この列に NULL が許容される場合は、YES が返されます。 その他の場合は NO が返されます。 |
DATA_TYPE | String | システムにより提供されるデータ型。 |
CHARACTER_MAXIMUM_LENGTH | Int32 | バイナリ データ、文字データ、またはテキストおよびイメージ データの最大文字列長。 その他の場合は NULL が返されます。 |
CHARACTER_OCTET_LENGTH | Int32 | バイナリ データ、文字データ、またはテキストおよびイメージ データの最大バイト長。 その他の場合は NULL が返されます。 |
NUMERIC_PRECISION | Unsigned Byte | 数値データの概数、正確な数値データ、整数データ、または通貨データの有効桁数。 その他の場合は NULL が返されます。 |
NUMERIC_PRECISION_RADIX | Int16 | 数値データの概数、正確な数値データ、整数データ、または通貨データの有効桁数の基数。 その他の場合は NULL が返されます。 |
NUMERIC_SCALE | Int32 | 数値データの概数、正確な数値データ、整数データ、または通貨データの桁数。 その他の場合は NULL が返されます。 |
DATETIME_PRECISION | Int16 | 日付時刻データ型および SQL-92 interval データ型のサブタイプ コード。 その他のデータ型に対しては NULL が返されます。 |
CHARACTER_SET_CATALOG | String | 列が文字データ型またはテキスト データ型である場合は、文字セットがあるデータベースを示すマスターが返されます。 その他の場合は NULL が返されます。 |
CHARACTER_SET_SCHEMA | String | 常に NULL が返されます。 |
CHARACTER_SET_NAME | String | この列が文字データ型またはテキスト データ型である場合、文字セットの一意の名前が返されます。 その他の場合は NULL が返されます。 |
COLLATION_CATALOG | String | 列が文字データ型またはテキスト データ型である場合は、照合順序が定義されているデータベースを示すマスターが返されます。 その他の場合、この列は NULL になります。 |
IS_FILESTREAM | String | 列に FILESTREAM 属性がある場合は YES。 列には FILESTREAM 属性がない場合は NO。 |
IS_SPARSE | String | 列がスパース列である場合は YES。 列がスパース列でない場合は NO。 |
IS_COLUMN_SET | String | 列が列セットの列である場合は YES。 列が列セットの列でない場合は NO。 |
ColumnSetColumns
ColumnSetColumns スキーマ コレクションは、スパース列をサポートするために使用されます。 ColumnSetColumns スキーマ コレクションは、列セット内のすべての列のスキーマを返します。 次の表では、それらの列について説明します。
ColumnName | DataType | 説明 |
---|---|---|
TABLE_CATALOG | String | テーブルのカタログ。 |
TABLE_SCHEMA | String | テーブルを含むスキーマ。 |
TABLE_NAME | String | テーブル名。 |
COLUMN_NAME | String | 列名。 |
ORDINAL_POSITION | Int32 | 列の識別番号。 |
COLUMN_DEFAULT | String | 列の既定値。 |
IS_NULLABLE | String | 列に NULL 値が許容されるかどうかを指定します。 この列に NULL が許容される場合は、YES が返されます。 その他の場合は NO が返されます。 |
DATA_TYPE | String | システムにより提供されるデータ型。 |
CHARACTER_MAXIMUM_LENGTH | Int32 | バイナリ データ、文字データ、またはテキストおよびイメージ データの最大文字列長。 その他の場合は NULL が返されます。 |
CHARACTER_OCTET_LENGTH | Int32 | バイナリ データ、文字データ、またはテキストおよびイメージ データの最大バイト長。 その他の場合は NULL が返されます。 |
NUMERIC_PRECISION | Unsigned Byte | 数値データの概数、正確な数値データ、整数データ、または通貨データの有効桁数。 その他の場合は NULL が返されます。 |
NUMERIC_PRECISION_RADIX | Int16 | 数値データの概数、正確な数値データ、整数データ、または通貨データの有効桁数の基数。 その他の場合は NULL が返されます。 |
NUMERIC_SCALE | Int32 | 数値データの概数、正確な数値データ、整数データ、または通貨データの桁数。 その他の場合は NULL が返されます。 |
DATETIME_PRECISION | Int16 | 日付時刻データ型および SQL-92 interval データ型のサブタイプ コード。 その他のデータ型に対しては NULL が返されます。 |
CHARACTER_SET_CATALOG | String | 列が文字データ型またはテキスト データ型である場合は、文字セットがあるデータベースを示すマスターが返されます。 その他の場合は NULL が返されます。 |
CHARACTER_SET_SCHEMA | String | 常に NULL が返されます。 |
CHARACTER_SET_NAME | String | この列が文字データ型またはテキスト データ型である場合、文字セットの一意の名前が返されます。 その他の場合は NULL が返されます。 |
COLLATION_CATALOG | String | 列が文字データ型またはテキスト データ型である場合は、照合順序が定義されているデータベースを示すマスターが返されます。 その他の場合、この列は NULL になります。 |
IS_FILESTREAM | String | 列に FILESTREAM 属性がある場合は YES。 列には FILESTREAM 属性がない場合は NO。 |
IS_SPARSE | String | 列がスパース列である場合は YES。 列がスパース列でない場合は NO。 |
IS_COLUMN_SET | String | 列が列セットの列である場合は YES。 列が列セットの列でない場合は NO。 |
Users
ColumnName | DataType | 説明 |
---|---|---|
uid | Int16 | このデータベースで一意のユーザー ID。 1 はデータベースの所有者です。 |
user_name | String | このデータベースで一意のユーザー名またはグループ名。 |
createdate | DateTime | アカウントが追加された日付。 |
updatedate | DateTime | アカウントが最後に変更された日付。 |
Views
ColumnName | DataType | 説明 |
---|---|---|
TABLE_CATALOG | String | ビューのカタログ。 |
TABLE_SCHEMA | String | ビューを含むスキーマ。 |
TABLE_NAME | String | ビューの名前。 |
CHECK_OPTION | String | WITH CHECK OPTION の型。 元のビューが WITH CHECK OPTION を使用して作成されている場合は CASCADE になります。 その他の場合は NONE が返されます。 |
IS_UPDATABLE | String | ビューが更新可能であるかどうかを指定します。 常に NO が返されます。 |
ViewColumns
ColumnName | DataType | 説明 |
---|---|---|
VIEW_CATALOG | String | ビューのカタログ。 |
VIEW_SCHEMA | String | ビューを含むスキーマ。 |
VIEW_NAME | String | ビューの名前。 |
TABLE_CATALOG | String | このビューに関連付けられているテーブルのカタログ。 |
TABLE_SCHEMA | String | このビューに関連付けられているテーブルを含むスキーマ。 |
TABLE_NAME | String | ビューに関連付けられているテーブルの名前。 ベース テーブルになります。 |
COLUMN_NAME | String | 列名。 |
UserDefinedTypes
ColumnName | DataType | 説明 |
---|---|---|
assembly_name | String | アセンブリのファイル名。 |
udt_name | String | アセンブリのクラス名。 |
version_major | Object | メジャー バージョン番号。 |
version_minor | Object | マイナー バージョン番号。 |
version_build | Object | ビルド番号。 |
version_revision | Object | リビジョン番号。 |
culture_info | Object | この UDT に関連付けられているカルチャ情報。 |
public_key | Object | このアセンブリで使用される公開キー。 |
is_fixed_length | ブール型 | 型の長さを max_length と常に同じにするかどうかを指定します。 |
max_length | Int16 | 型の最大長 (バイト単位)。 |
Create_Date | DateTime | アセンブリが作成/登録された日付。 |
Permission_set_desc | String | アセンブリのアクセス許可セット/セキュリティ レベルのフレンドリ名。 |