sys.columns(Transact-SQL)

적용 대상: SQL Server Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System(PDW)

뷰 또는 테이블과 같이 열을 갖고 있는 개체의 각 열에 대한 행을 반환합니다. 다음은 열을 갖고 있는 개체 형식의 목록입니다.

  • 테이블 반환 어셈블리 함수(FT)

  • 인라인 테이블 반환 SQL 함수(IF)

  • 내부 테이블(IT)

  • 시스템 테이블(S)

  • 테이블 반환 SQL 함수(TF)

  • 사용자 테이블(U)

  • 뷰(V)

열 이름 데이터 형식 Description
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, ntextimage 열의 경우 max_length 값은 16(16 바이트 포인터만 표시)이거나 sp_tableoption 'text in row'로 설정된 값입니다.
정밀도 tinyint 숫자 기반일 경우에는 열의 전체 자릿수이고, 그렇지 않으면 0입니다.
소수 자릿수 tinyint 숫자 기반일 경우에는 열의 소수 자릿수이고, 그렇지 않으면 0입니다.
collation_name sysname 문자 기반일 경우에는 열의 데이터 정렬 이름이고, 그렇지 않으면 NULL입니다.
is_nullable bit 1 = 열이 Null 값을 허용합니다.
is_ansi_padded bit 1 = 열이 문자, 이진 또는 variant인 경우 ANSI_PADDING ON 동작을 사용합니다.

0 = 열이 문자, 이진 또는 variant가 아닙니다.
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 독립 실행형 개체인 sys.sp_bindefault인지, 또는 인라인 열 수준 DEFAULT 제약 조건인지 여부에 관계 없이 기본 개체의 ID입니다. 인라인 열 수준 기본 개체의 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)