Compartir a través de


Comando .show database schema

Se aplica a: ✅Microsoft FabricAzure 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

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

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

.showdatabases (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

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

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

.showdatabases (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 truees , se devuelven las tablas.
ExternalTables bool Si truees , se devuelven tablas externas.
MaterializedViews bool Si truees , se devuelven vistas materializadas.
Functions bool Si truees , 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

.showdatabase 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 truees , 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 truees , 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 truees , se incluyen asignaciones de ingesta en el nivel de tabla.
ShowObfuscatedStrings bool Tiene como valor predeterminado false. Si truees , 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)