sys.columns(Transact-SQL)
적용 대상: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW) Microsoft Fabric의 SQL 분석 엔드포인트 Microsoft Fabric의 웨어하우스
뷰 또는 테이블과 같이 열을 갖고 있는 개체의 각 열에 대한 행을 반환합니다. 다음 목록에는 열이 있는 개체 형식이 포함되어 있습니다.
- 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입니다.텍스트, ntext 및 이미지 열의 max_length 경우 값은 (16 바이트 포인터만 표시) 또는 로 설정된 sp_tableoption 'text in row' 값입니다 16 . |
precision |
tinyint | 숫자 기반인 경우 열의 전체 자릿수입니다. 그렇지 않으면 . 0 |
scale |
tinyint | 숫자 기반인 경우 열의 소수 자릿수입니다. 그렇지 않으면 . 0 |
collation_name |
sysname | 문자 기반일 경우에는 열의 데이터 정렬 이름이고, 그렇지 않으면 NULL 입니다. |
is_nullable |
bit | 1 = 열이 null 허용0 = 열이 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이 입력되면 이 값은 0이 아닙니다. 값은 열의 유효성 검사 XML 스키마 네임스페이스를 포함하는 컬렉션의 ID입니다.0 = XML 스키마 컬렉션 없음 |
default_object_id |
int | 독립 실행형 개체 sp_bindefault 또는 인라인 열 수준 DEFAULT 제약 조건인지에 관계없이 기본 개체의 ID입니다. 인라인 열 수준 기본 개체의 parent_object_id 열은 테이블 자체에 대한 역참조입니다.0 = 기본값 없음 |
rule_object_id |
int | 를 사용하여 열에 바인딩된 독립 실행형 규칙의 ID sys.sp_bindrule. 0 = 독립 실행형 규칙이 없습니다. 열 수준 CHECK 제약 조건은 sys.check_constraints 참조하세요. |
is_sparse |
bit | 1 = 열이 스파스 열입니다. 자세한 내용은 스파스 열 사용을 참조 하세요. |
is_column_set |
bit | 1 = 열이 열 집합입니다. 자세한 내용은 스파스 열 사용을 참조 하세요. |
generated_always_type |
tinyint | 열 값이 생성되는 시기를 식별합니다(시스템 테이블의 열에 대해 항상 0 사용됨).적용 대상: SQL Server 2016(13.x) 이상 버전 및 SQL Database. 0 = NOT_APPLICABLE 1 = AS_ROW_START 2 = AS_ROW_END 적용 대상: SQL Server 2022(16.x) 이상 버전 및 SQL Database. 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) | 값에 generated_always_type 대한 텍스트 설명(시스템 NOT_APPLICABLE 테이블의 열에 항상 해당)적용 대상: SQL Server 2016(13.x) 이상 버전 및 SQL Database. 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 | 암호화 유형:1 = 결정적 암호화2 = 임의 암호화적용 대상: SQL Server 2016(13.x) 이상 버전 및 SQL Database |
encryption_type_desc |
nvarchar(64) | 암호화 유형 설명:RANDOMIZED DETERMINISTIC 적용 대상: SQL Server 2016(13.x) 이상 버전 및 SQL Database |
encryption_algorithm_name |
sysname | 암호화 알고리즘의 이름입니다. AEAD_AES_256_CBC_HMAC_SHA_512 만 지원됩니다.적용 대상: SQL Server 2016(13.x) 이상 버전 및 SQL Database |
column_encryption_key_id |
int | CEK(열 암호화 키)의 ID입니다. 적용 대상: SQL Server 2016(13.x) 이상 버전 및 SQL Database |
column_encryption_key_database_name |
sysname | 열의 데이터베이스와 다른 경우 열 암호화 키가 있는 데이터베이스의 이름입니다. 키가 열과 동일한 데이터베이스에 있으면 NULL 입니다.적용 대상: SQL Server 2016(13.x) 이상 버전 및 SQL Database |
is_hidden |
bit | 열이 숨겨지는지 여부를 나타냅니다.0 = 일반, 숨겨지지 않은 표시 열1 = 숨겨진 열적용 대상: SQL Server 2016(13.x) 이상 버전 및 SQL Database |
is_masked |
bit | 열이 동적 데이터 마스킹으로 마스킹되는지를 나타냅니다.0 = 마스킹되지 않은 일반 열1 = 열이 마스킹됨적용 대상: SQL Server 2016(13.x) 이상 버전 및 SQL Database |
graph_type |
int | 값 집합이 있는 내부 열입니다. 값은 그래프 열과 8 다른 열 간의 1 값입니다NULL . |
graph_type_desc |
nvarchar(60) | 정보를 제공하기 위해서만 확인됩니다. 지원 안 됨. 향후 호환성은 보장되지 않습니다. |
is_data_deletion_filter_column |
bit | 열이 테이블의 데이터 보존 필터 열인지 여부를 나타냅니다. 적용 대상: Azure SQL Edge |
ledger_view_column_type |
int | 그렇지 않은 NULL 경우 원장 보기의 열 형식을 나타냅니다.1 = TRANSACTION_ID 2 = SEQUENCE_NUMBER 3 = OPERATION_TYPE 4 = OPERATION_TYPE_DESC 자세한 내용은 원장 개요를 참조하세요. 적용 대상: SQL Server 2022(16.x) 이상 버전 및 SQL Database |
ledger_view_column_type_desc |
nvarchar(60) | 그렇지 않은 NULL 경우 원장 보기의 열 형식에 대한 텍스트 설명을 포함합니다.TRANSACTION_ID SEQUENCE_NUMBER OPERATION_TYPE OPERATION_TYPE_DESC 적용 대상: SQL Server 2022(16.x) 이상 버전 및 SQL Database |
is_dropped_ledger_column |
bit | 삭제된 원장 테이블 열을 나타냅니다. 적용 대상: SQL Server 2022(16.x) 이상 버전 및 SQL Database |
사용 권한
사용자가 소유하고 있거나 사용 권한을 부여 받은 보안 개체에 대해서만 카탈로그 뷰의 메타데이터를 볼 수 있습니다. 자세한 내용은 Metadata Visibility Configuration을 참조하세요.
사용 예
테이블에 대한 열 세부 정보 가져오기
테이블의 열에 대한 메타데이터를 얻으려면 다음 코드를 사용할 수 있습니다.
CREATE TABLE dbo.[sample] (
id INT NOT NULL
,col1 VARBINARY(10) NULL
)
GO
SELECT c.[name] AS column_name
,t.[name] AS [type_name]
,c.[max_length]
,c.[precision]
,c.[scale]
FROM sys.columns c
INNER JOIN sys.types t ON c.user_type_id = t.user_type_id
WHERE object_id = object_id('dbo.sample');