.show database schema コマンド
次のコマンドは、データベース スキーマをテーブル、JSON オブジェクト、または CSL スクリプトとして表示します。
アクセス許可
これらのコマンドを実行するには、少なくともデータベース ユーザー、データベース ビューアー、またはデータベース モニターのアクセス許可が必要です。 詳細については、ロールベースのアクセス制御に関するページを参照してください。
.show database schema
構文
.show
database
DatabaseName schema
[details
] [if_later_than
"バージョン"]
.show
databases
(
DatabaseName [,
...])
schema
details
.show
databases
(
DatabaseName if_later_than
"Version" [,
...])
schema
details
構文規則について詳しく知る。
パラメーター
件名 | タイプ | Required | 説明 |
---|---|---|---|
DatabaseName | string |
✔️ | スキーマを表示するデータベースの名前。 |
Version | string |
"vMM.mm" 形式のバージョン。 MM はメジャー バージョンを表し、mm はマイナー バージョンを表します。 |
返品
選択されたデータベース (そのすべてのテーブルおよび列を含む) の構造のフラット リストを、単一のテーブルまたは JSON オブジェクトとして返します。 バージョンを指定して使用する場合、データベースは指定されたバージョンよりも新しいバージョンである場合にのみ返されます。
例
データベース スキーマを表示する
次の例では、 TestDB
データベース スキーマを表示します。 データベース TestDB
には、 Events
と呼ばれるテーブルが 1 つ含まれます。
.show database TestDB schema
出力
DatabaseName | TableName | ColumnName | [列の型] | IsDefaultTable | IsDefaultColumn | PrettyName | バージョン |
---|---|---|---|---|---|---|---|
TestDB | False | いいえ | v.1.1 | ||||
TestDB | Events | True | False | ||||
TestDB | イベント | Name | System.String | True | False | ||
TestDB | Events | StartTime | System.DateTime | True | False | ||
TestDB | Events | EndTime | System.DateTime | True | False | ||
TestDB | Events | 市区町村 | System.String | True | False | ||
TestDB | Events | SessionId | System.Int32 | True | True |
バージョンに基づいてデータベース スキーマを表示する
以下の例では、データベースは、指定されたバージョンよりも新しいバージョンである場合にのみ返されます。
.show database TestDB schema if_later_than "v1.0"
出力
DatabaseName | TableName | ColumnName | [列の型] | IsDefaultTable | IsDefaultColumn | PrettyName | バージョン |
---|---|---|---|---|---|---|---|
TestDB | False | いいえ | v.1.1 | ||||
TestDB | Events | True | False | ||||
TestDB | イベント | Name | System.String | True | False | ||
TestDB | Events | StartTime | System.DateTime | True | False | ||
TestDB | Events | EndTime | System.DateTime | True | False | ||
TestDB | Events | 市区町村 | System.String | True | False | ||
TestDB | Events | SessionId | System.Int32 | True | True |
現在のデータベース バージョンより前のバージョンが指定されたため、'TestDB' スキーマが返されました。 同等以上のバージョンを指定すると、空の結果が生成されます。
.show database schema as json
構文
.show
database
DatabaseName schema
[if_later_than
"Version"] as
json
.show
databases
(
DatabaseName [,
...] )
schema
as
json
[with
(
Options)
]
.show
databases
(
DatabaseName if_later_than
"Version" [,
...])
schema
as
json
[with
(
Options)
]
構文規則について詳しく知る。
パラメーター
件名 | タイプ | Required | 説明 |
---|---|---|---|
DatabaseName | string |
✔️ | スキーマを表示するデータベースの名前。 |
Version | string |
"vMM.mm" 形式のバージョン。 MM はメジャー バージョンを表し、mm はマイナー バージョンを表します。 | |
[オプション] | string |
返すデータベース エンティティ スキーマを決定するために使用される、コンマ区切りのキーと値のペアの一覧。 何も指定されていない場合は、すべてのエンティティが返されます。 サポートされるエンティティ オプションを参照してください。 |
サポートされているエンティティ オプション
次の表では、 Options パラメーターに指定する値について説明します。
Key | 値 | 説明 |
---|---|---|
Tables |
bool |
true 場合、テーブルが返されます。 |
ExternalTables |
bool |
true 場合は、外部テーブルが返されます。 |
MaterializedViews |
bool |
true 場合は、具体化されたビューが返されます。 |
Functions |
bool |
true 場合、関数が返されます。 |
返品
選択されたデータベース (そのすべてのテーブルと列を含む) の構造のフラット リストを JSON オブジェクトとして返します。 バージョンを指定して使用する場合、データベースは指定されたバージョンよりも新しいバージョンである場合にのみ返されます。
例
次の例では、
.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"":{}}}}"
.show database schema as csl script
指定された (または現在の) データベース スキーマのコピーを作成するために必要なすべてのコマンドを含む CSL スクリプトを生成します。
構文
.show
database
DatabaseName schema
as
csl
script
[with
(
Options)
]
構文規則について詳しく知る。
パラメーター
件名 | タイプ | Required | 説明 |
---|---|---|---|
DatabaseName | string |
✔️ | スキーマを表示するデータベースの名前。 |
[オプション] | string |
返される内容を決定するために使用されるコンマ区切りのキーと値のペアの一覧。 サポートされているオプションを参照してください。 |
サポートされているオプション
Key | 値 | 説明 |
---|---|---|
IncludeEncodingPolicies |
bool |
既定値は true です。 true 場合、データベース/テーブル/列レベルのエンコード ポリシーが含まれます。 |
IncludeSecuritySettings |
bool |
既定値は true です。 true 場合は、次のオプションが含まれます。- データベース/テーブル レベルで承認されたプリンシパル。 - テーブル レベルの行レベルのセキュリティ ポリシー。 - テーブル レベルの制限付きビュー アクセス ポリシー。 |
IncludeIngestionMappings |
bool |
既定値は true です。 true 場合は、テーブル レベルでのインジェスト マッピングが含まれます。 |
ShowObfuscatedStrings |
bool |
既定値は false です。 true 場合、Kusto 構成で永続化された資格情報が返されます。 このオプションを使用するには、データベース管理者またはエンティティ作成者である必要があります。 これらのアクセス許可がない場合、コマンドは失敗します。 |
返品
文字列として返されるスクリプトには、次のものが含まれます。
- データベース内のすべてのテーブルを作成するコマンド。
- すべてのデータベース/テーブル/列のポリシーを、元のポリシーと一致するように設定するコマンド。
- データベース内のすべてのユーザー定義関数を作成または変更するコマンド。
例
CSL スクリプト
次の例では、 TestDB
データベース スキーマを再作成するために必要なコマンドを含む CSL スクリプトを生成します。
.show database TestDB schema as csl script
難読化された値を含む CSL スクリプト
次の例では、 TestDB
データベース スキーマを再作成するために必要なコマンドを含む CSL スクリプトを生成します。 これには、前の例の結果で難読化された値が含まれています。
.show database TestDB schema as csl script with (ShowObfuscatedStrings = true)