Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: ✅Microsoft Fabric✅Azure Data Explorer-
Hiermee maakt of wijzigt u een externe Azure SQL-tabel in de database waarin de opdracht wordt uitgevoerd.
Opmerking
- Als de tabel bestaat, mislukt de opdracht
.createmet een fout. Gebruik.create-or-alterof.alterom bestaande tabellen te wijzigen. - Het wijzigen van het schema van een externe Azure SQL-tabel wordt niet ondersteund.
Ondersteunde externe Azure SQL-tabeltypen
- SQL Server
- MySQL
- PostgreSQL
- Kosmos DB
Machtigingen
Als u ten minste machtigingen voor databasegebruikers wilt .create vereisen en .alter ten minste machtigingen voor tabelbeheerders nodig hebt.
Voor .create, .alterof .create-or-alter een externe tabel met behulp van verificatie van beheerde identiteiten zijn databasebeheerdersmachtigingen vereist. Deze methode wordt ondersteund voor externe SQL Server- en Cosmos DB-tabellen.
Syntaxis
(.create.create-or-alter.alter | | ) externaltableTableName(Schema)=kindsql [ table=SqlTableName ] (SqlConnectionString) [with( [ sqlDialect=SqlDialect ] , [ Eigenschap, ... ])]
Meer informatie over syntaxisconventies.
Parameterwaarden
| Naam | Typologie | Verplicht | Beschrijving |
|---|---|---|---|
| TableName- | string |
✔️ | De naam van de externe tabel. De naam moet voldoen aan de regels voor entiteitsnamen en een externe tabel mag niet dezelfde naam hebben als een gewone tabel in dezelfde database. |
| Schema | string |
✔️ | Het externe gegevensschema is een door komma's gescheiden lijst met een of meer kolomnamen en gegevenstypen, waarbij elk item de indeling volgt: ColumnName:ColumnType. |
| SqlConnectionString- | string |
✔️ | De verbindingsreeks met de SQL-server. |
| SqlTableName- | string |
De naam van de SQL-tabel bevat niet de databasenaam. Als de naam van de tabel een punt ("."), gebruikt u de notatie ['Name.of.the.table'] . Als de tabel zich niet in het standaardschema van de SQL-database bevindt, gebruikt u de notatie [SchemaName.TableName']. Bijvoorbeeld voor een tabel T1 in schema 'S1': ['S1. T1'] Deze specificatie is vereist voor alle typen tabellen, met uitzondering van Cosmos DB, omdat de naam van de verzameling deel uitmaakt van de verbindingsreeks. |
|
| SqlDialect | string |
Geeft het type externe Azure SQL-tabel aan. SQL Server is de standaardinstelling. Geef MySQLvoor MySQL op. Geef voor PostgreSQL op PostgreSQL. Geef CosmosDbSqlvoor Cosmos DB op. |
|
| Eigenschappen | string |
Een sleutel-waarde-eigenschapspaar in de notatie PropertyName=PropertyValue. Zie optionele eigenschappen. |
Waarschuwing
Verbindingsreeksen en query's die vertrouwelijke informatie bevatten, moeten worden verborgen, zodat ze worden weggelaten uit kusto-tracering. Zie verborgen letterlijke tekenreeksen voor meer informatie.
Optionele eigenschappen
| Vastgoed | Typologie | Beschrijving |
|---|---|---|
folder |
string |
De map van de tabel. |
docString |
string |
Een tekenreeks die de tabel documenteert. |
firetriggers |
true/false |
Als true, geeft u het doelsysteem opdracht om INSERT-triggers te activeren die zijn gedefinieerd in de SQL-tabel. De standaardwaarde is false. (Zie BULK INSERT en System.Data.SqlClient.SqlBulkCopy) voor meer informatie. |
createifnotexists |
true/ false |
Als true, wordt de doel-SQL-tabel gemaakt als deze nog niet bestaat; de eigenschap primarykey moet in dit geval worden opgegeven om de resultaatkolom aan te geven die de primaire sleutel is. De standaardwaarde is false. |
primarykey |
string |
Als createifnotexists dat het is true, wordt de resulterende kolomnaam gebruikt als de primaire sleutel van de SQL-tabel als deze door deze opdracht wordt gemaakt. |
Authenticatie en autorisatie
Als u wilt communiceren met een externe Azure SQL-tabel, moet u verificatiemiddelen opgeven als onderdeel van sqlConnectionString. SqlConnectionString definieert de resource voor toegang tot en de verificatiegegevens.
Zie verificatiemethoden voor externe azure SQL-tabellen voor meer informatie.
Opmerking
Als de externe tabel wordt gebruikt voor continue export, moet verificatie worden uitgevoerd door gebruikersnaam/wachtwoord of beheerde identiteiten.
Voorbeelden
In de volgende voorbeelden ziet u hoe u elk type externe Azure SQL-tabel maakt.
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
)
Uitvoer
| Tabelnaam | Tabeltype | Map | DocString | Eigenschappen |
|---|---|---|---|---|
| MySqlExternalTable | SQL | ExternalTables | Documentatie | { "TargetEntityKind": "sqltable", "TargetEntityName": "MySqlTable", "TargetEntityConnectionString": "Server=tcp:myserver.database.windows.net,1433; Verificatie=Geïntegreerde Active Directory; Initial Catalog=mydatabase;", "FireTriggers": waar, "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",
)
Kosmos 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",
)