Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a: ✅Microsoft Fabric✅Azure Data Explorer
Crea o modifica una tabla externa de Azure SQL en la base de datos en la que se ejecuta el comando.
Nota:
- Si la tabla existe, se producirá un error en el
.create
comando. Use.create-or-alter
o.alter
para modificar las tablas existentes. - No se admite la modificación del esquema de una tabla externa de Azure SQL.
Tipos de tabla externa de Azure SQL admitidos
- SQL Server
- MySQL (en inglés)
- PostgreSQL
- Cosmos DB
Permisos
Para .create
requerir al menos permisos de usuario de base de datos y para .alter
requerir al menos permisos de administrador de tablas.
Para .create
, .alter
o .create-or-alter
una tabla externa mediante la autenticación de identidad administrada requiere permisos de administrador de base de datos. Este método es compatible con las tablas externas de SQL Server y Cosmos DB.
Sintaxis
(.create
| .alter
| .create-or-alter
) external
=
sql
[ table
=
SqlTableName ] (
SqlConnectionString)
[with
(
[ sqlDialect
=
SqlDialect ] ,
[ Propiedad,
... ]])
Obtenga más información sobre las convenciones de sintaxis.
Parámetros
Nombre | Tipo | Obligatorio | Descripción |
---|---|---|---|
TableName | string |
✔️ | Nombre de la tabla externa. El nombre debe seguir las reglas para los nombres de entidad y una tabla externa no puede tener el mismo nombre que una tabla normal en la misma base de datos. |
Esquema | string |
✔️ | El esquema de datos externos es una lista separada por comas de uno o más nombres de columna y tipos de datos, donde cada elemento sigue el formato: ColumnName : ColumnType. |
SqlConnectionString | string |
✔️ | El cadena de conexión al servidor SQL Server. |
SqlTableName | string |
Nombre de la tabla SQL que no incluye el nombre de la base de datos. Si el nombre de la tabla contiene un punto ("."), use la notación ['Name.of.the.table']. Si la tabla no está en el esquema predeterminado de la base de datos SQL, use la notación ['SchemaName.TableName']. Por ejemplo, para una tabla "T1" en el esquema "S1": ['S1. T1'] Esta especificación es necesaria para todos los tipos de tablas excepto para Cosmos DB, ya que para Cosmos DB el nombre de la colección forma parte de la cadena de conexión. |
|
SqlDialect | string |
Indica el tipo de tabla externa de Azure SQL. SQL Server es el valor predeterminado. En MySQL, especifique MySQL . En PostgreSQL, especifique PostgreSQL . En Cosmos DB, especifique CosmosDbSql . |
|
Propiedad | string |
Par de propiedades clave-valor con el formato PropertyName= PropertyValue. Consulte las propiedades opcionales. |
Advertencia
Las cadenas de conexión y las consultas que incluyen información confidencial deben ofuscarse para que se omitan de cualquier seguimiento de Kusto. Para obtener más información, consulte literales de cadena ofuscados.
Propiedades opcionales
Propiedad | Tipo | Descripción |
---|---|---|
folder |
string |
Carpeta de la tabla. |
docString |
string |
Cadena que documenta la tabla. |
firetriggers |
true /false |
Si true es , indica al sistema de destino que active los desencadenadores INSERT definidos en la tabla SQL. El valor predeterminado es false . (Para obtener más información, consulte BULK INSERT y System.Data.SqlClient.SqlBulkCopy) |
createifnotexists |
true / false |
Si true es , la tabla SQL de destino se crea si aún no existe; la primarykey propiedad debe proporcionarse en este caso para indicar la columna de resultado que es la clave principal. El valor predeterminado es false . |
primarykey |
string |
Si createifnotexists es true , el nombre de columna resultante se usa como clave principal de la tabla SQL si este comando lo crea. |
Autenticación y autorización
Para interactuar con una tabla externa de Azure SQL, debe especificar los medios de autenticación como parte de SqlConnectionString. SqlConnectionString define el recurso para acceder a y su información de autenticación.
Para más información, consulte Métodos de autenticación de tablas externas de Azure SQL.
Nota:
Si la tabla externa se usa para la exportación continua, la autenticación debe realizarse mediante el nombre de usuario o la contraseña o las identidades administradas.
Ejemplos
En los ejemplos siguientes se muestra cómo crear cada tipo de tabla externa de Azure SQL.
SQL Server
.create external table MySqlExternalTable (x:long, s:string)
kind=sql
table=MySqlTable
(
h@'Server=tcp:myserver.database.windows.net,1433;Authentication=Active Directory Integrated;Initial Catalog=mydatabase;'
)
with
(
docstring = "Docs",
folder = "ExternalTables",
createifnotexists = true,
primarykey = x,
firetriggers=true
)
Salida
TableName | TipoDeTabla | Carpeta | DocString | Propiedades |
---|---|---|---|---|
MySqlExternalTable | SQL | ExternalTables | Documentación | { "TargetEntityKind": "sqltable'", "TargetEntityName": "MySqlTable", "TargetEntityConnectionString": "Server=tcp:myserver.database.windows.net,1433; Authentication=Active Directory Integrated; Initial Catalog=mydatabase;", "FireTriggers": true, "CreateIfNotExists": true, "PrimaryKey": "x" } |
MySQL (en inglés)
.create external table MySqlExternalTable (x:long, s:string)
kind=sql
table=MySqlTable
(
h@'Server=myserver.mysql.database.windows.net;Port = 3306;UID = USERNAME;Pwd = PASSWORD;Database = mydatabase;'
)
with
(
sqlDialect = "MySql",
docstring = "Docs",
folder = "ExternalTables",
)
PostgreSQL
.create external table PostgreSqlExternalTable (x:long, s:string)
kind=sql
table=PostgreSqlTable
(
h@'Host = hostname.postgres.database.azure.com; Port = 5432; Database= db; User Id=user; Password=pass; Timeout = 30;'
)
with
(
sqlDialect = "PostgreSQL",
docstring = "Docs",
folder = "ExternalTables",
)
Cosmos DB
.create external table CosmosDBSQLExternalTable (x:long, s:string)
kind=sql
(
h@'AccountEndpoint=https://cosmosdbacc.documents.azure.com/;Database=MyDatabase;Collection=MyCollection;AccountKey=' h'R8PM...;'
)
with
(
sqlDialect = "CosmosDbSQL",
docstring = "Docs",
folder = "ExternalTables",
)