sql 명령을 사용하여 테이블 구조 보기
내장된 저장 프로시저 sp_MShelpcolumns를 사용할 수 있습니다.
예를 들어 쿼리 테이블 Table1의 구조는 다음과 같습니다.
sp_MShelpcolumns 'Tabel1'
메타데이터 소개
Metadata(metadata) 가장 일반적인 "데이터에 관한 구조화된 데이터" 또는 간단히 "데이터에 대한 정보"로 정의되는 범례, 도서관 카탈로그 카드, 일상생활의 명함 등은 모두 메타데이터로 간주될 수 있습니다. 관계형 데이터베이스 관리 시스템(DBMS)에서 메타데이터는 데이터의 구조와 의미를 설명합니다. 예를 들어, SQL Server를 관리 및 유지 관리하거나 데이터베이스 애플리케이션을 개발할 때 데이터베이스 아키텍처와 관련된 몇 가지 정보를 얻어야 하는 경우가 많습니다.
데이터베이스에 있는 테이블과 뷰의 수와 이름
테이블이나 뷰의 열 수와 각 열의 이름, 데이터 유형, 길이, 정밀도, 설명 등;
테이블에 정의된 제약 조건;
테이블에 정의된 인덱스 및 기본 키/외래 키 정보입니다.
아래에서는 메타데이터를 얻는 여러 가지 방법을 소개합니다.
메타데이터 가져오기
시스템 저장 프로시저 및 시스템 기능을 사용하여 메타데이터에 액세스
메타데이터를 얻는 가장 일반적인 방법은 SQL에서 제공하는 시스템 저장 프로시저를 사용하는 것입니다. 서버 및 시스템 기능.
시스템 저장 프로시저와 시스템 함수는 시스템 테이블과 메타데이터 사이에 추상화 계층을 제공하므로 시스템 테이블을 직접 쿼리하지 않고도 현재 데이터베이스 개체의 메타데이터를 얻을 수 있습니다.
메타데이터와 관련하여 일반적으로 사용되는 시스템 저장 프로시저에는 다음이 포함됩니다.
시스템 저장 프로시저 설명
sp_columns는 지정된 테이블 또는 뷰의 열에 대한 자세한 정보를 반환합니다. .
sp_databases는 현재 서버의 모든 데이터베이스에 대한 기본 정보를 반환합니다.
sp_fkeys 매개변수가 기본 키가 있는 테이블인 경우 해당 테이블을 가리키는 외래 키가 포함된 모든 테이블이 반환됩니다. 매개변수가 외래 키가 있는 테이블 이름인 경우 동일한 기본 키가 있는 모든 테이블이 반환됩니다. 키/외부 키가 반환됩니다. 이 외래 키와 연결된 모든 테이블에 대한 관계입니다.
sp_pkeys는 지정된 테이블의 기본 키 정보를 반환합니다.
sp_server_info는 현재 서버의 다양한 특성과 해당 값을 반환합니다.
sp_sproc_columns는 지정된 저장 프로시저의 입력 및 출력 매개변수에 대한 정보를 반환합니다.
sp_statistics는 지정된 테이블이나 인덱싱된 뷰에 대한 모든 인덱스 및 통계 정보를 반환합니다.
sp_stored_procedures는 시스템 저장 프로시저를 포함하여 현재 데이터베이스의 저장 프로시저 목록을 반환합니다.
sp_tables는 시스템 테이블을 포함하여 현재 데이터베이스의 모든 테이블과 뷰를 반환합니다.
메타데이터와 관련하여 일반적으로 사용되는 시스템 함수는 다음과 같습니다.
시스템 함수 설명
COLUMNPROPERTY는 허용 여부와 같은 열 또는 프로세스 매개변수에 대한 정보를 반환합니다. Null 값, 계산된 열인지 여부 등
COL_LENGTH는 읽기 전용 모드인지 여부 등 지정된 데이터베이스의 지정된 속성 값을 반환합니다.
DATABASEPROPERTYEX는 데이터베이스 상태, 복구 모델 등과 같은 지정된 데이터베이스에 대해 지정된 옵션 또는 속성의 현재 설정을 반환합니다.
OBJECT_ID는 지정된 데이터베이스 개체 이름의 식별 번호를 반환합니다.
OBJECT_NAME은 지정된 데이터베이스 개체 식별 번호의 개체 이름을 반환합니다.
OBJECTPROPERTY는 테이블인지, 제약조건인지 등 지정된 데이터베이스 개체의 식별 번호에 대한 정보를 반환합니다.
fn_listextendedproperty는 객체 설명, 형식 규칙, 입력 마스크 등과 같은 데이터베이스 객체의 확장 속성 값을 반환합니다.
저장 프로시저와 함수의 반환 결과를 직접 사용할 수 없기 때문에 쿼리 결과에만 관심이 있고 이러한 결과를 더 이상 사용할 필요가 없는 경우에만 시스템 저장 프로시저와 시스템을 사용하게 됩니다. 메타데이터를 쿼리하는 함수입니다.
예를 들어 현재 서버의 모든 데이터베이스에 대한 기본 정보를 얻으려면 쿼리 분석기에서 이를 실행할 수 있습니다.
EXEC sp_databases
GO
반환된 결과에서 데이터베이스의 이름, 크기, 설명 및 기타 정보를 볼 수 있습니다.
SQL Server에는 많은 시스템 테이블이 있으며, 그 중 메타데이터 쿼리와 관련하여 가장 일반적으로 사용되는 테이블은 다음과 같습니다.
시스템 테이블 설명
syscolumns는 각 정보를 저장합니다. 테이블과 뷰의 모든 열과 저장 프로시저의 모든 매개변수에 대한 정보입니다.
syscomments는 각 뷰, 규칙, 기본값, 트리거, CHECK 제약 조건, DEFAULT 제약 조건 및 저장 프로시저를 포함하는 원시 SQL 텍스트 문을 저장합니다.
sysconstraints는 현재 데이터베이스의 각 제약 조건에 대한 기본 정보를 저장합니다.
sysdatabases는 현재 서버의 각 데이터베이스에 대한 기본 정보를 저장합니다.
sysindexes는 현재 데이터베이스의 각 인덱스에 대한 정보를 저장합니다.
sysobjects는 데이터베이스의 각 개체에 대한 기본 정보(제약 조건, 기본값, 로그, 규칙, 저장 프로시저 등)를 저장합니다.
sysreferences는 FOREIGN KEY 제약 조건을 포함하는 모든 열을 저장합니다.
systypes는 시스템에서 제공하는 각 데이터 유형 및 사용자 정의 데이터 유형에 대한 세부 정보를 저장합니다.
시스템 저장 프로시저, 시스템 기능, 정보 아키텍처 뷰 및 시스템 테이블을 함께 사용하면 필요한 모든 메타데이터 정보를 쉽게 얻을 수 있습니다.