.show database schema 명령
적용 대상: ✅Microsoft Fabric✅Azure Data Explorer
다음 명령은 데이터베이스 스키마를 테이블, JSON 개체 또는 CSL 스크립트로 보여 줍니다.
사용 권한
이러한 명령을 실행하려면 적어도 데이터베이스 사용자, 데이터베이스 뷰어 또는 데이터베이스 모니터 권한이 있어야 합니다. 자세한 내용은 역할 기반 액세스 제어를 참조하세요.
.show database schema
구문
.show
database
DatabaseName schema
[details
] [if_later_than
"Version"]
.show
databases
(
DatabaseName [,
...])
schema
details
.show
databases
(
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으로 표시
구문
.show
database
DatabaseName schema
[if_later_than
"Version"] as
json
.show
databases
(
DatabaseName [,
...])
as
schema
json
[with
(
옵션])
.show
databases
(
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 스크립트를 생성합니다.
구문
.show
database
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 입니다. 이면 true Kusto 구성에 유지되는 자격 증명이 반환됩니다. 이 옵션을 사용하려면 데이터베이스 관리자 또는 엔터티 작성자여야 합니다. 이러한 권한이 없으면 명령이 실패합니다. |
반품
문자열로 반환된 스크립트에는 다음이 포함됩니다.
- 데이터베이스의 모든 테이블을 만드는 명령입니다.
- 모든 데이터베이스/테이블/열 정책을 원래 정책과 일치하도록 설정하는 명령입니다.
- 데이터베이스의 모든 사용자 정의 함수를 만들거나 변경하는 명령입니다.
예제
CSL 스크립트
다음 예제에서는 데이터베이스 스키마를 다시 만드는 데 필요한 명령을 사용하여 CSL 스크립트를 TestDB
생성합니다.
.show database TestDB schema as csl script
난독 처리된 값이 있는 CSL 스크립트
다음 예제에서는 데이터베이스 스키마를 다시 만드는 데 필요한 명령을 사용하여 CSL 스크립트를 TestDB
생성합니다. 여기에는 이전 예제의 결과에서 난독 제거된 값이 포함됩니다.
.show database TestDB schema as csl script with (ShowObfuscatedStrings = true)