sys.columns (Transact-SQL)
適用対象: SQL Server Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
ビューやテーブルなど列を含むオブジェクトの各列の行を返します。 以下に、列を持つオブジェクトの種類の一覧を示します。
テーブル値アセンブリ関数 (FT)
インライン テーブル値 SQL 関数 (IF)
内部テーブル (IT)
システム テーブル (S)
テーブル値 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。 型の名前を返すには、この列の sys.types カタログ ビューに結合します。 |
max_length | smallint | 列の最大長 (バイト単位) です。 -1 = 列のデータ型は、varchar(max)、nvarchar(max)、varbinary(max)、または xml です。 text、ntext、および image 列では、max_length 値は 16 (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 ON 動作を使用します (文字、バイナリ、または変数の場合)。 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 が型指定されている場合は、ゼロ以外の値です。 この値は、列の検証 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。 5、6、7、8 は、SQL Database にのみ適用されます。 列の値が生成されるタイミングを識別します (システム テーブル内の列では、常に 0 となります)。 0 = NOT_APPLICABLE 1 = AS_ROW_START 2 = AS_ROW_END 5 = AS_TRANSACTION_ID_START 6 = AS_TRANSACTION_ID_END 7 = AS_SEQUENCE_NUMBER_START 8 = 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 Server 2022 (16.x) 以降、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。 暗号化の種類の説明: RANDOMIZED 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 2016 (13.x) 以降、SQL Database。 列が非表示かどうかを示します。 0 = 通常の、非表示ではない、表示される列 1 = 非表示の列 |
is_masked | bit | 適用対象: SQL Server 2016 (13.x) 以降、SQL Database。 列が動的データ マスキングでマスクされているかどうかを示します。 0 = 通常のマスクされていない列 1 = 列がマスクされている |
graph_type | int | 値のセットを含む内部列。 値は、グラフ列は 1-8、その他は NULL です。 |
graph_type_desc | nvarchar(60) | 値のセットを含む内部列 |
is_data_deletion_filter_column | bit | 適用対象: Azure SQL Edge。 列がテーブルのデータ保持フィルター列であるかどうかを示します。 |
ledger_view_column_type | tinyint | 適用対象: SQL Server 2022 (16.x) 以降、SQL Database。 NULL でない場合は、台帳ビューの列の型を示します。 1 = TRANSACTION_ID 2 = SEQUENCE_NUMBER 3 = OPERATION_TYPE 4 = OPERATION_TYPE_DESC データベース台帳の詳細については、台帳に関する記事を参照してください。 |
ledger_view_column_type_desc | nvarchar(60) | 適用対象: SQL Server 2022 (16.x) 以降、SQL Database。 NULL でない場合は、台帳ビューの列の型のテキスト説明が含まれます。 TRANSACTION_ID SEQUENCE_NUMBER OPERATION_TYPE OPERATION_TYPE_DESC |
is_dropped_ledger_table_column | bit | 適用対象: SQL Server 2022 (16.x) 以降、SQL Database。 削除された台帳テーブル列を示します。 |
アクセス許可
カタログ ビューでのメタデータの表示が、ユーザーが所有しているかそのユーザーが権限を許可されている、セキュリティ保護可能なメタデータに制限されます。 詳細については、「 Metadata Visibility Configuration」を参照してください。
参照
システム ビュー (Transact-SQL)
オブジェクト カタログ ビュー (Transact-SQL)
カタログ ビュー (Transact-SQL)
SQL Server システム カタログに対するクエリに関してよく寄せられる質問
sys.all_columns (Transact-SQL)
sys.system_columns (Transact-SQL)