sys.columns (Transact-SQL)

適用対象: はいSQL Server (サポートされているすべてのバージョン) はいAzure SQL データベース はいAzure SQL Managed Instance はいAzure Synapse Analytics はいParallel Data Warehouse

ビューやテーブルなどの列を持つオブジェクトの列ごとに1行の値を返します。 以下に、列を持つオブジェクトの種類の一覧を示します。

  • テーブル値アセンブリ関数 (FT)

  • インラインテーブル値 SQL 関数 (IF)

  • 内部テーブル (IT)

  • システムテーブル

  • テーブル値 SQL 関数 (TF)

  • ユーザーテーブル (U)

  • ビュー (V)

列名 データ型 説明
object_id int この列が所属するオブジェクトの ID。
name sysname 列の名前です。 は、オブジェクト内で一意です。
column_id int 列の ID。 は、オブジェクト内で一意です。

列 Id が連続していない可能性があります。
system_type_id tinyint 列のシステム型の ID。
user_type_id int ユーザーが定義した列の型の ID。

型の名前を返すには、この列の のカタログビューに結合します。
max_length smallint 列の最大長 (バイト単位) です。

-1 = 列のデータ型は varchar (max),、 nvarchar (max),、 varbinary (max),、または xml です。

テキスト 列の場合、max_length 値は16か sp_tableoption ' text in row ' によって設定された値になります。
精度 tinyint 数値ベースの場合は、列の有効桁数です。それ以外の場合は、0 です。
scale tinyint 数値ベースの場合の列の小数点以下桁数それ以外の場合は0です。
collation_name sysname 文字ベースの場合は、列の照合順序の名前。それ以外の場合は NULL
is_nullable bit 1 = 列で NULL 値を使用できます。
is_ansi_padded bit 1 = 列文字、バイナリ、またはバリアントの場合は、動作に ANSI_PADDING が使用されます。

0 = 列は文字、バイナリ、またはバリアントではありません。
is_rowguidcol bit 1 = 列は宣言された ROWGUIDCOL です。
is_identity bit 1 = 列に id 値がある
is_computed bit 1 = 列は計算列です。
is_filestream bit 1 = 列は FILESTREAM 列です。
is_replicated bit 1 = 列はレプリケートされています。
is_non_sql_subscribed bit 1 = 列には SQL Server 以外のサブスクライバーがあります。
is_merge_published bit 1 = 列はマージパブリッシュされています。
is_dts_replicated bit 1 = 列は、を使用してレプリケートされ SSIS ます。
is_xml_document bit 1 = コンテンツは完全な XML ドキュメントです。

0 = コンテンツがドキュメントフラグメントであるか、列のデータ型が xml ではありません。
xml_collection_id int 列のデータ型が xml で xml が型指定されている場合は0以外の。 この値は、列の検証 XML スキーマ名前空間を含むコレクションの ID になります。

0 = XML スキーマコレクションがありません。
default_object_id int 既定のオブジェクトの ID。スタンドアロンオブジェクト sys.sp_bindefaultであるか、インラインの列レベルの default 制約であるかは関係ありません。 インラインの列レベルの既定のオブジェクトの parent_object_id 列は、テーブル自体への参照です。

0 = 既定値はありません。
rule_object_id int Sys.sp_bindrule を使用して、列にバインドされているスタンドアロンルールの ID。

0 = スタンドアロンルールはありません。 列レベルの CHECK 制約については、「 sys.check_constraints (Transact SQL)」を参照してください。
is_sparse bit 1 = 列はスパース列です。 詳細については、「 スパース列の使用」を参照してください。
is_column_set bit 1 = 列は列セットです。 詳細については、「 スパース列の使用」を参照してください。
generated_always_type tinyint 適用対象: SQL Server 2016 (13.x) 以降、SQL Database。 7、8、9、10 は にのみ適用されます SQL Database 。

列の値が生成される時間を識別します (システム テーブルの列の場合は常に 0 になります)。

0 = NOT_APPLICABLE
1 = AS_ROW_START
2 = AS_ROW_END
7 = AS_TRANSACTION_ID_START
8 = AS_TRANSACTION_ID_END
9 = AS_SEQUENCE_NUMBER_START
10 = AS_SEQUENCE_NUMBER_END

詳細については、「リレーショナル データベースのテンポラル テーブル(」を参照)。
generated_always_type_desc nvarchar(60) 適用対象: SQL Server 2016 (13.x) 以降、SQL Database。

の値の generated_always_type テキストの説明 (システム NOT_APPLICABLE列に対して常に指定されます)

NOT_APPLICABLE
AS_ROW_START
AS_ROW_END

適用対象: SQL Database

AS_TRANSACTION_ID_START
AS_TRANSACTION_ID_END
AS_SEQUENCE_NUMBER_START
AS_SEQUENCE_NUMBER_END
encryption_type int 適用対象: SQL Server 2016 (13.x) 以降、SQL Database。

暗号化の種類:

1 = デターミスティック暗号化

2 = ランダム化された暗号化
encryption_type_desc nvarchar(64) 適用対象: SQL Server 2016 (13.x) 以降、SQL Database。

暗号化の種類の説明:

無作為 化

DETERMINISTIC
encryption_algorithm_name sysname 適用対象: SQL Server 2016 (13.x) 以降、SQL Database。

暗号化アルゴリズムの名前。

サポートAEAD_AES_256_CBC_HMAC_SHA_512のみサポートされます。
column_encryption_key_id int 適用対象: SQL Server 2016 (13.x) 以降、SQL Database。

CEK の ID。
column_encryption_key_database_name sysname 適用対象: SQL Server 2016 (13.x) 以降、SQL Database。

列のデータベースと異なる場合は、列暗号化キーが存在するデータベースの名前。 NULL キーが列と同じデータベースに存在する場合は 。
is_hidden bit 適用対象: SQL Server 2019 (15.x) 以降、SQL Database。

列が非表示かどうかを示します。

0 = 標準、非表示ではない、表示可能な列

1 = 非表示列
is_masked bit 適用対象: SQL Server 2019 (15.x) 以降、SQL Database。

列が動的データ マスクによってマスクされるかどうかを示します。

0 = 通常のマスクされていない列

1 = 列がマスクされている
graph_type int 値のセットを含む内部列。 値は、グラフ列の場合は 1 ~ 8 です。その他 NULL の場合は です。
graph_type_desc nvarchar(60) 値のセットを含む内部列
is_data_deletion_filter_column bit 適用対象: Azure SQL Database Edge。 列がテーブルのデータ保持フィルター列かどうかを示します。
ledger_view_column_type tinyint 適用対象: SQL Database

NULL 以外の場合、 は台帳ビューの列の種類を示します。

1 = TRANSACTION_ID
2 = SEQUENCE_NUMBER
3 = OPERATION_TYPE
4 = OPERATION_TYPE_DESC

データベース台帳の詳細については、「データベース台帳」をAzure SQL Databaseしてください
ledger_view_column_type_desc nvarchar(60) 適用対象: SQL Database

NULL 以外の場合、 には、台帳ビューの列の種類に関するテキストの説明が含まれている。

TRANSACTION_ID
SEQUENCE_NUMBER
OPERATION_TYPE
OPERATION_TYPE_DESC

アクセス許可

カタログ ビューでのメタデータの表示が、ユーザーが所有しているかそのユーザーが権限を許可されている、セキュリティ保護可能なメタデータに制限されます。 詳細については、「 Metadata Visibility Configuration」を参照してください。

参照

システムビュー (Transact SQL)
オブジェクト カタログ ビュー (Transact-SQL)
カタログ ビュー (Transact-SQL)
SQL Server システムカタログに対するクエリについてよく寄せられる質問
sys.all_columns (transact-sql SQL)
sys.system_columns (transact-sql SQL)