Tworzenie i zmienianie tabel zewnętrznych usługi Azure SQL
Tworzy lub zmienia zewnętrzną tabelę usługi Azure SQL w bazie danych, w której jest wykonywane polecenie.
Uwaga
- Jeśli tabela istnieje,
.create
polecenie zakończy się niepowodzeniem z powodu błędu. Użyj polecenia.create-or-alter
lub.alter
, aby zmodyfikować istniejące tabele. - Zmiana schematu zewnętrznej tabeli Azure SQL nie jest obsługiwana.
Obsługiwane typy tabel zewnętrznych usługi Azure SQL
- SQL Server
- MySQL
- PostgreSQL
- Cosmos DB
Uprawnienia
Wymaga .create
co najmniej uprawnień użytkownika bazy danych i .alter
wymaga co najmniej uprawnień Administracja tabeli.
Do .create
, .alter
lub .create-or-alter
tabeli zewnętrznej przy użyciu uwierzytelniania tożsamości zarządzanej wymaga uprawnień database Administracja. Ta metoda jest obsługiwana w przypadku tabel zewnętrznych programu SQL Server i usługi Cosmos DB.
Składnia
(.create
| .alter
.create-or-alter
| ) external
table
TableName(
Schemasql
=
)
kind
[ table
=
SqlTableName ] (
Sql Połączenie ionString)
[(
with
[ sqlDialect
=
SqlDialect ] ,
[ Właściwość,
... ]])
Dowiedz się więcej na temat konwencji składni.
Parametry
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
TableName | string |
✔️ | Nazwa tabeli zewnętrznej. Nazwa musi być zgodna z regułami dotyczącymi nazw jednostek, a tabela zewnętrzna nie może mieć takiej samej nazwy jak zwykła tabela w tej samej bazie danych. |
Schemat | string |
✔️ | Schemat danych zewnętrznych jest rozdzielaną przecinkami listą co najmniej jednej nazwy kolumn i typów danych, gdzie każdy element jest zgodny z formatem ColumnName: ColumnType. |
SqlTableName | string |
Nazwa tabeli SQL, która nie zawiera nazwy bazy danych. Na przykład "MySqlTable", a nie "db1". MySqlTable". Jeśli nazwa tabeli zawiera kropkę ("."), użyj notacji ['Name.of.the.table']. | |
Ta specyfikacja jest wymagana dla wszystkich typów tabel z wyjątkiem usługi Cosmos DB, ponieważ w przypadku usługi Cosmos DB nazwa kolekcji jest częścią parametry połączenia. |
|||
Sql Połączenie ionString | string |
✔️ | Parametry połączenia do serwera SQL. |
SqlDialect | string |
Wskazuje typ tabeli zewnętrznej Usługi Azure SQL. Program SQL Server jest domyślny. W polu MySQL określ wartość MySQL . W przypadku bazy danych PostgreSQL określ wartość PostgreSQL . W przypadku usługi Cosmos DB określ wartość CosmosDbSql . |
|
Właściwości | string |
Para właściwości klucz-wartość w formacie PropertyName= PropertyValue. Zobacz właściwości opcjonalne. |
Ostrzeżenie
Połączenie ciągi i zapytania zawierające poufne informacje powinny być zaciemnione, aby zostały pominięte z dowolnego śledzenia usługi Kusto. Aby uzyskać więcej informacji, zobacz zaciemnione literały ciągu.
Właściwości opcjonalne
Właściwość | Type | Opis |
---|---|---|
folder |
string |
Folder tabeli. |
docString |
string |
Ciąg dokumentujący tabelę. |
firetriggers |
true /false |
Jeśli true program , nakazuje systemowi docelowemu uruchamianie wyzwalaczy INSERT zdefiniowanych w tabeli SQL. Wartość domyślna to false . (Aby uzyskać więcej informacji, zobacz BULK INSERT i System.Data.SqlClient.SqlBulkCopy) |
createifnotexists |
true / false |
Jeśli true docelowa tabela SQL zostanie utworzona, jeśli jeszcze nie istnieje. primarykey Właściwość musi być podana w tym przypadku, aby wskazać kolumnę wynikową, która jest kluczem podstawowym. Wartość domyślna to false . |
primarykey |
string |
Jeśli createifnotexists ma true wartość , nazwa wynikowej kolumny jest używana jako klucz podstawowy tabeli SQL, jeśli zostanie utworzona przez to polecenie. |
Uwierzytelnianie i autoryzacja
Aby wchodzić w interakcje z zewnętrzną tabelą usługi Azure SQL z usługi Azure Data Explorer, należy określić środki uwierzytelniania w ramach metody Sql Połączenie ionString. Ciąg Sql Połączenie ionString definiuje zasób, aby uzyskać dostęp do informacji o uwierzytelnianiu i uzyskiwać do tego zasobu.
Aby uzyskać więcej informacji, zobacz Metody uwierzytelniania tabel zewnętrznych usługi Azure SQL.
Uwaga
Jeśli tabela zewnętrzna jest używana do eksportu ciągłego, uwierzytelnianie musi być wykonywane za pomocą nazwy użytkownika/hasła lub tożsamości zarządzanych.
Przykłady
W poniższych przykładach pokazano, jak utworzyć każdy typ tabeli zewnętrznej usługi 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
)
Wyjście
TableName | TableType | Folder | DocString | Właściwości |
---|---|---|---|---|
MySqlExternalTable | Sql | Tabele zewnętrzne | Dokumenty | { "TargetEntityKind": "sqltable", "TargetEntityName": "MySqlTable", "TargetEntity Połączenie ionString": "Server=tcp:myserver.database.windows.net,1433; Authentication=Active Directory Integrated; Katalog początkowy=mydatabase;", "FireTriggers": true, "CreateIfNotExists": true, "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",
)
Powiązana zawartość
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla