Comando .show database schema
Se aplica a: ✅Microsoft Fabric✅Azure Data Explorer
Los siguientes comandos muestran el esquema de la base de datos como una tabla, un objeto JSON o un script CSL.
Permisos
Debe tener al menos permisos de Usuario de base de datos, Visor de bases de datos o Monitor de base de datos para ejecutar estos comandos. Para más información, vea Control de acceso basado en roles.
.show database schema
Sintaxis
.show
database
DatabaseName schema
[details
] [if_later_than
"Version"]
.show
databases
(
DatabaseName [,
...])
schema
details
.show
databases
(
DatabaseName if_later_than
"Version" [,
...])
schema
details
Obtenga más información sobre las convenciones de sintaxis.
Parámetros
Nombre | Type | Obligatorio | Descripción |
---|---|---|---|
DatabaseName | string |
✔️ | Nombre de la base de datos para la que se va a mostrar el esquema. |
Versión | string |
La versión en formato "vMM.mm". MM representa la versión principal y mm representa la versión secundaria. |
Devoluciones
Devuelve una lista plana de la estructura de las bases de datos seleccionadas con todas sus tablas y columnas en una sola tabla o objeto JSON. Cuando se usa con una versión, la base de datos solo se devuelve si es una versión posterior a la proporcionada.
Ejemplos
Mostrar esquema de base de datos
En el ejemplo siguiente se muestra el esquema de la TestDB
base de datos. La base de datos TestDB
tiene una tabla denominada Events
.
.show database TestDB schema
Salida
DatabaseName | TableName | ColumnName | ColumnType | IsDefaultTable | IsDefaultColumn | PrettyName | Versión |
---|---|---|---|---|---|---|---|
TestDB | False | False | v.1.1 | ||||
TestDB | Eventos | True | False | ||||
TestDB | Eventos | Nombre | System.String | True | False | ||
TestDB | Eventos | StartTime | System.DateTime | True | False | ||
TestDB | Eventos | EndTime | System.DateTime | True | False | ||
TestDB | Eventos | Ciudad | System.String | True | False | ||
TestDB | Eventos | SessionId | System.Int32 | True | True |
Mostrar el esquema de base de datos basado en la versión
En el ejemplo siguiente, la base de datos solo se devuelve si es una versión posterior a la proporcionada.
.show database TestDB schema if_later_than "v1.0"
Salida
DatabaseName | TableName | ColumnName | ColumnType | IsDefaultTable | IsDefaultColumn | PrettyName | Versión |
---|---|---|---|---|---|---|---|
TestDB | False | False | v.1.1 | ||||
TestDB | Eventos | True | False | ||||
TestDB | Eventos | Nombre | System.String | True | False | ||
TestDB | Eventos | StartTime | System.DateTime | True | False | ||
TestDB | Eventos | EndTime | System.DateTime | True | False | ||
TestDB | Eventos | Ciudad | System.String | True | False | ||
TestDB | Eventos | SessionId | System.Int32 | True | True |
Dado que se proporcionó una versión inferior a la versión de base de datos actual, se devolvió el esquema "TestDB". Proporcionar una versión igual o superior generaría un resultado vacío.
Esquema de base de datos .show como json
Sintaxis
.show
database
DatabaseName schema
[if_later_than
"Version"] as
json
.show
databases
(
DatabaseName [,
...])
as
schema
json
[with
(
Options])
.show
databases
(
DatabaseName if_later_than
"Version" [,
...])
as
schema
json
[with
(
Options])
Obtenga más información sobre las convenciones de sintaxis.
Parámetros
Nombre | Type | Obligatorio | Descripción |
---|---|---|---|
DatabaseName | string |
✔️ | Nombre de la base de datos para la que se va a mostrar el esquema. |
Versión | string |
La versión en formato "vMM.mm". MM representa la versión principal y mm representa la versión secundaria. | |
Opciones | string |
Lista de pares clave-valor separados por comas que se usan para determinar qué esquemas de entidad de base de datos se van a devolver. Si no se especifica ninguno, se devuelven todas las entidades. Consulte las opciones de entidad admitidas. |
Opciones de entidad admitidas
En la tabla siguiente se describen los valores que se van a proporcionar para el parámetro Options .
Llave | Valor | Descripción |
---|---|---|
Tables |
bool |
Si true es , se devuelven las tablas. |
ExternalTables |
bool |
Si true es , se devuelven tablas externas. |
MaterializedViews |
bool |
Si true es , se devuelven vistas materializadas. |
Functions |
bool |
Si true es , se devuelven funciones. |
Devoluciones
Devuelve una lista plana de la estructura de las bases de datos seleccionadas con todas sus tablas y columnas como un objeto JSON. Cuando se usa con una versión, la base de datos solo se devuelve si es una versión posterior a la proporcionada.
Ejemplos
En el ejemplo siguiente se devuelve el esquema de TestDB
la base de datos en formato JSON.
.show database TestDB schema as json
.show databases (TestDB, TestDB2) schema as json with(Tables=True, Functions=True)
Salida
"{""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"":{}}}}"
Esquema de base de datos .show como script csl
Genera un script CSL con todos los comandos necesarios para crear una copia del esquema de base de datos especificado (o actual).
Sintaxis
.show
database
DatabaseName csl
as
schema
script
[with
(
Options])
Obtenga más información sobre las convenciones de sintaxis.
Parámetros
Nombre | Type | Obligatorio | Descripción |
---|---|---|---|
DatabaseName | string |
✔️ | Nombre de la base de datos para la que se va a mostrar el esquema. |
Opciones | string |
Lista de pares clave-valor separados por comas que se usan para determinar qué devolver. Consulte las opciones admitidas. |
Opciones admitidas
Llave | Valor | Descripción |
---|---|---|
IncludeEncodingPolicies |
bool |
Tiene como valor predeterminado true . Si true es , se incluyen las directivas de codificación en el nivel de base de datos, tabla o columna. |
IncludeSecuritySettings |
bool |
Tiene como valor predeterminado true . Si true es , se incluyen las siguientes opciones:- Entidades de seguridad autorizadas en el nivel de base de datos o tabla. - Directivas de seguridad de nivel de fila en el nivel de tabla. - Directivas de acceso de vistas restringidas en el nivel de tabla. |
IncludeIngestionMappings |
bool |
Tiene como valor predeterminado true . Si true es , se incluyen asignaciones de ingesta en el nivel de tabla. |
ShowObfuscatedStrings |
bool |
Tiene como valor predeterminado false . Si true es , se devuelven las credenciales persistentes en las configuraciones de Kusto. Para usar esta opción, debe ser un administrador de base de datos o creador de entidades. Si no tiene estos permisos, se produce un error en el comando. |
Devoluciones
El script, devuelto como una cadena, contiene:
- Comandos para crear todas las tablas de la base de datos.
- Comandos para establecer todas las directivas de base de datos, tablas o columnas para que coincidan con las directivas originales.
- Comandos para crear o modificar todas las funciones definidas por el usuario en la base de datos.
Ejemplos
Script de CSL
En el ejemplo siguiente se genera un script de CSL con los comandos necesarios para volver a crear el esquema de la TestDB
base de datos.
.show database TestDB schema as csl script
Script de CSL con valores ofuscados
En el ejemplo siguiente se genera un script de CSL con los comandos necesarios para volver a crear el esquema de la TestDB
base de datos. Incluye valores que se ofuscaron en los resultados del ejemplo anterior.
.show database TestDB schema as csl script with (ShowObfuscatedStrings = true)