Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a: ✅Microsoft Fabric✅Azure Data Explorer
Cria ou altera uma tabela externa SQL do Azure no banco de dados no qual o comando é executado.
Observação
- Se a tabela existir, o comando
.createfalhará com um erro. Use.create-or-alterou.alterpara modificar tabelas existentes. - Não há suporte para alterar o esquema de uma tabela SQL externa do Azure.
Tipos de tabela externa SQL do Azure suportados
- Servidor SQL
- MySQL
- PostgreSQL
- Cosmos DB
Permissões
Para .create requer pelo menos permissões de Usuário de Banco de Dados e requer pelo menos permissões de Administrador de .alter Tabela.
Para .create, .alterou .create-or-alter uma tabela externa usando autenticação de identidade gerenciada requer permissões de administrador de banco de dados . Esse método tem suporte para tabelas externas do SQL Server e do Cosmos DB.
Sintaxe
(.create.create-or-alter.alter | | )externaltable Esquemasql)kind=TableName( [ table=SqlTableName ] (SqlConnectionString) [(with [=sqlDialectSqlDialect ] , [ Propriedade, ... ])]
Saiba mais sobre convenções de sintaxe.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| Nome da tabela | string |
✔️ | O nome da tabela externa. O nome deve seguir as regras para nomes de entidades, e uma tabela externa não pode ter o mesmo nome que uma tabela regular no mesmo banco de dados. |
| Esquema | string |
✔️ | O esquema de dados externos é uma lista separada por vírgulas de um ou mais nomes de coluna e tipos de dados, onde cada item segue o formato: ColumnName:ColumnType. |
| SqlConnectionString | string |
✔️ | A cadeia de conexão com o servidor SQL. |
| SqlTableName | string |
O nome da tabela SQL não inclui o nome do banco de dados. Se o nome da tabela contiver um ponto ("."), use a notação ['Name.of.the.table']. Se a tabela não estiver no esquema padrão do banco de dados SQL, use a notação ['SchemaName.TableName']. Por exemplo, para uma tabela "T1" no esquema "S1": ['S1. T1'] Essa especificação é necessária para todos os tipos de tabelas, exceto para o Cosmos DB, já que para o Cosmos DB o nome da coleção faz parte da cadeia de conexão. |
|
| SqlDialect | string |
Indica o tipo de tabela externa SQL do Azure. O SQL Server é o padrão. Para MySQL, especifique MySQL. Para PostgreSQL, especifique PostgreSQL. Para Cosmos DB, especifique CosmosDbSql. |
|
| Propriedade | string |
Um par de propriedades chave-valor no formato PropertyName=PropertyValue. Consulte propriedades opcionais. |
Advertência
Cadeias de conexão e consultas que incluem informações confidenciais devem ser ofuscadas para que sejam omitidas de qualquer rastreamento Kusto. Para obter mais informações, consulte literais de cadeia de caracteres ofuscadas.
Propriedades opcionais
| Propriedade | Tipo | Descrição |
|---|---|---|
folder |
string |
A pasta da tabela. |
docString |
string |
Uma cadeia de caracteres que documenta a tabela. |
firetriggers |
true/false |
Se true, instrui o sistema de destino a disparar gatilhos INSERT definidos na tabela SQL. A predefinição é false. (Para obter mais informações, consulte BULK INSERT e System.Data.SqlClient.SqlBulkCopy) |
createifnotexists |
true/ false |
Se true, a tabela SQL de destino será criada se ainda não existir; A propriedade primarykey deve ser fornecida neste caso para indicar a coluna de resultados que é a chave primária. A predefinição é false. |
primarykey |
string |
Se createifnotexists for true, o nome da coluna resultante será usado como chave primária da tabela SQL se for criado por esse comando. |
Autenticação e autorização
Para interagir com uma tabela SQL externa do Azure, você deve especificar meios de autenticação como parte do SqlConnectionString. O SqlConnectionString define o recurso a ser acessado e suas informações de autenticação.
Para obter mais informações, consulte Métodos de autenticação de tabela externa do SQL do Azure.
Observação
Se a tabela externa for usada para exportação contínua, a autenticação deverá ser executada por nome de usuário/senha ou identidades gerenciadas.
Exemplos
Os exemplos a seguir mostram como criar cada tipo de tabela externa SQL do Azure.
Servidor SQL
.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
)
Realização
| Nome da Tabela | Tipo de tabela | Pasta de Arquivos | DocString | Propriedades |
|---|---|---|---|---|
| MySqlExternalTable | SQL | Tabelas Externas | Documentos | { "TargetEntityKind": "sqltable'", "TargetEntityName": "MySqlTable", "TargetEntityConnectionString": "Server=tcp:myserver.database.windows.net,1433; Authentication=Ative Directory Integrado; Catálogo Inicial = mydatabase;", "FireTriggers": verdadeiro, "CreateIfNotExists": verdadeiro, "PrimaryKey": "x" } |
MySQL
.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",
)