다음을 통해 공유


.show database schema 명령

적용 대상: ✅Microsoft Fabric✅Azure Data Explorer

다음 명령은 데이터베이스 스키마를 테이블, JSON 개체 또는 CSL 스크립트로 보여 줍니다.

사용 권한

이러한 명령을 실행하려면 적어도 데이터베이스 사용자, 데이터베이스 뷰어 또는 데이터베이스 모니터 권한이 있어야 합니다. 자세한 내용은 역할 기반 액세스 제어를 참조하세요.

.show database schema

구문

.showdatabase DatabaseName schema [details] [if_later_than "Version"]

.showdatabases (DatabaseName [, ...]) schema details

.showdatabases (DatabaseName if_later_than "Version" [, ...]) schema details

구문 규칙에 대해 자세히 알아봅니다.

매개 변수

이름 Type 필수 설명
DatabaseName string ✔️ 스키마를 표시할 데이터베이스의 이름입니다.
버전 string "vMM.mm" 형식의 버전입니다. MM은 주 버전을 나타내고 mm은 부 버전을 나타냅니다.

반품

단일 테이블 또는 JSON 개체의 모든 테이블과 열이 있는 선택한 데이터베이스 구조의 플랫 목록을 반환합니다. 버전과 함께 사용하는 경우 데이터베이스는 제공된 버전보다 최신 버전인 경우에만 반환됩니다.

예제

데이터베이스 스키마 표시

다음 예제에서는 데이터베이스 스키마를 TestDB 표시합니다. 데이터베이스 TestDB 에는 1개의 테이블이 있습니다 Events.

.show database TestDB schema 

출력

DatabaseName TableName ColumnName ColumnType IsDefaultTable IsDefaultColumn PrettyName 버전
TestDB False False v.1.1
TestDB 이벤트 거짓
TestDB 이벤트 속성 System.String 거짓
TestDB 이벤트 StartTime System.DateTime 거짓
TestDB 이벤트 EndTime System.DateTime 거짓
TestDB 이벤트 City System.String 거짓
TestDB 이벤트 SessionId System.Int32 True True

버전에 따라 데이터베이스 스키마 표시

다음 예제에서는 데이터베이스가 제공된 버전보다 최신 버전인 경우에만 반환됩니다.

.show database TestDB schema if_later_than "v1.0" 

출력

DatabaseName TableName ColumnName ColumnType IsDefaultTable IsDefaultColumn PrettyName 버전
TestDB False False v.1.1
TestDB 이벤트 거짓
TestDB 이벤트 속성 System.String 거짓
TestDB 이벤트 StartTime System.DateTime 거짓
TestDB 이벤트 EndTime System.DateTime 거짓
TestDB 이벤트 City System.String 거짓
TestDB 이벤트 SessionId System.Int32 True True

현재 데이터베이스 버전보다 낮은 버전이 제공되었으므로 'TestDB' 스키마가 반환되었습니다. 같거나 더 높은 버전을 제공하면 빈 결과가 생성됩니다.

데이터베이스 스키마를 json으로 표시

구문

.showdatabase DatabaseName schema [if_later_than "Version"] as json

.showdatabases (DatabaseName [, ...]) as schema json [with( 옵션])

.showdatabases (DatabaseName "Version" [, ...]) schema json as [with (옵션]) if_later_than

구문 규칙에 대해 자세히 알아봅니다.

매개 변수

이름 Type 필수 설명
DatabaseName string ✔️ 스키마를 표시할 데이터베이스의 이름입니다.
버전 string "vMM.mm" 형식의 버전입니다. MM은 주 버전을 나타내고 mm은 부 버전을 나타냅니다.
옵션 string 반환할 데이터베이스 엔터티 스키마를 결정하는 데 사용되는 쉼표로 구분된 키-값 쌍 목록입니다. 지정하지 않으면 모든 엔터티가 반환됩니다. 지원되는 엔터티 옵션을 참조 하세요.

지원되는 엔터티 옵션

다음 표에서는 Options 매개 변수에 제공할 값에 대해 설명합니다 .

설명
Tables bool 이면 true테이블이 반환됩니다.
ExternalTables bool 이면 true외부 테이블이 반환됩니다.
MaterializedViews bool 이면 true구체화된 뷰가 반환됩니다.
Functions bool 이면 true함수가 반환됩니다.

반품

모든 테이블과 열을 JSON 개체로 사용하여 선택한 데이터베이스 구조의 플랫 목록을 반환합니다. 버전과 함께 사용하는 경우 데이터베이스는 제공된 버전보다 최신 버전인 경우에만 반환됩니다.

예제

다음 예제에서는 JSON 형식으로 TestDB 데이터베이스 스키마를 반환합니다.

.show database TestDB schema as json

.show databases (TestDB, TestDB2) schema as json with(Tables=True, Functions=True)

출력

"{""Databases"":{""TestDB"":{""Name"":""TestDB"",""Tables"":{""Events"":{""Name"":""Events"",""DefaultColumn"":null,""OrderedColumns"":[{""Name"":""Name"",""Type"":""System.String""},{""Name"":""StartTime"",""Type"":""System.DateTime""},{""Name"":""EndTime"",""Type"":""System.DateTime""},{""Name"":""City"",""Type"":""System.String""},{""Name"":""SessionId"",""Type"":""System.Int32""}]}},""PrettyName"":null,""MajorVersion"":1,""MinorVersion"":1,""Functions"":{}}}}"

데이터베이스 스키마를 csl 스크립트로 표시

지정된(또는 현재) 데이터베이스 스키마의 복사본을 만드는 데 필요한 모든 명령을 사용하여 CSL 스크립트를 생성합니다.

구문

.showdatabase DatabaseName csl as schema script [with( 옵션])

구문 규칙에 대해 자세히 알아봅니다.

매개 변수

이름 Type 필수 설명
DatabaseName string ✔️ 스키마를 표시할 데이터베이스의 이름입니다.
옵션 string 반환할 내용을 결정하는 데 사용되는 쉼표로 구분된 키-값 쌍의 목록입니다. 지원되는 옵션을 참조하세요.

지원되는 옵션

설명
IncludeEncodingPolicies bool 기본값은 true입니다. 이 경우 true데이터베이스/테이블/열 수준의 인코딩 정책이 포함됩니다.
IncludeSecuritySettings bool 기본값은 true입니다. 이 경우 true다음 옵션이 포함됩니다.
- 데이터베이스/테이블 수준의 권한 있는 보안 주체입니다.
- 테이블 수준의 행 수준 보안 정책입니다.
- 테이블 수준에서 제한된 보기 액세스 정책입니다.
IncludeIngestionMappings bool 기본값은 true입니다. 이 경우 true테이블 수준의 수집 매핑이 포함됩니다.
ShowObfuscatedStrings bool 기본값은 false입니다. 이면 trueKusto 구성에 유지되는 자격 증명이 반환됩니다. 이 옵션을 사용하려면 데이터베이스 관리자 또는 엔터티 작성자여야 합니다. 이러한 권한이 없으면 명령이 실패합니다.

반품

문자열로 반환된 스크립트에는 다음이 포함됩니다.

  • 데이터베이스의 모든 테이블을 만드는 명령입니다.
  • 모든 데이터베이스/테이블/열 정책을 원래 정책과 일치하도록 설정하는 명령입니다.
  • 데이터베이스의 모든 사용자 정의 함수를 만들거나 변경하는 명령입니다.

예제

CSL 스크립트

다음 예제에서는 데이터베이스 스키마를 다시 만드는 데 필요한 명령을 사용하여 CSL 스크립트를 TestDB 생성합니다.

.show database TestDB schema as csl script

난독 처리된 값이 있는 CSL 스크립트

다음 예제에서는 데이터베이스 스키마를 다시 만드는 데 필요한 명령을 사용하여 CSL 스크립트를 TestDB 생성합니다. 여기에는 이전 예제의 결과에서 난독 제거된 값이 포함됩니다.

.show database TestDB schema as csl script with (ShowObfuscatedStrings = true)