sys.system_columns (Transact-SQL)
適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) Microsoft Fabric のSQL 分析エンドポイント Microsoft Fabric のウェアハウス
列を持つシステム オブジェクトの列ごとに 1 行のデータを保持します。
列名 | データ型 | 説明 |
---|---|---|
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 列の場合、max_length の値は、16 または sp_tableoption 'text in row' によって設定された値になります。 |
有効桁数 (precision) | 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。 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 Server 2022 (16.x) 以降、SQL Database AS_TRANSACTION_ID_START AS_TRANSACTION_ID_END AS_SEQUENCE_NUMBER_START AS_SEQUENCE_NUMBER_END |
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 |
アクセス許可
カタログ ビューでのメタデータの可視性は、ユーザーが所有しているか、ユーザーに何らかのアクセス許可が付与されているセキュリティ保護可能なリソースに限定されます。 詳細については、「 Metadata Visibility Configuration」を参照してください。
参照
オブジェクト カタログ ビュー (Transact-SQL)
カタログ ビュー (Transact-SQL)
SQL Server システム カタログに対するクエリに関してよく寄せられる質問
sys.columns (Transact-SQL)
sys.all_columns (Transact-SQL)
sys.computed_columns (Transact-SQL)