Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Переключение служб с помощью раскрывающегося списка версий . Дополнительные сведения о навигации.
Область применения: ✅ Microsoft Fabric ✅ Azure Data Explorer
Создает или изменяет внешнюю таблицу SQL Azure в базе данных, в которой выполняется команда.
Примечание.
- Если таблица существует,
.createкоманда завершится ошибкой. Используйте.create-or-alterили.alterизмените существующие таблицы. - Изменение схемы внешней таблицы SQL Azure не поддерживается.
Поддерживаемые типы внешних таблиц SQL Azure
- SQL Server
- MySQL
- PostgreSQL
- Cosmos DB
Разрешения
Чтобы .create требовать по крайней мере разрешения пользователя.alter таблицы.
Для .create, .alterили .create-or-alter внешней таблицы с использованием проверки подлинности управляемого удостоверения требуются разрешения администратора базы данных. Этот метод поддерживается для внешних таблиц SQL Server и Cosmos DB.
Синтаксис
(.create | .alter | .create-or-alter) externaltable [ ( SqlTableName ] )kind= [sqltable= ] ( [ ) ... ]]with
Дополнительные сведения о соглашениях синтаксиса.
Параметры
| Имя (название) | Тип | Обязательно | Описание |
|---|---|---|---|
| ИмяТаблицы | string |
✔️ | Имя внешней таблицы. Имя должно соответствовать правилам имен сущностей, а внешняя таблица не может иметь то же имя, что и обычная таблица в той же базе данных. |
| Схема | string |
✔️ | Схема внешних данных представляет собой разделенный запятыми список одного или нескольких имен столбцов и типов данных, где каждый элемент соответствует формату ColumnName : ColumnType. |
| SqlConnectionString | string |
✔️ | Строка подключения на СЕРВЕР SQL Server. |
| SqlTableName | string |
Имя таблицы SQL, не включая имя базы данных. Если имя таблицы содержит точку ("."), используйте нотацию ['Name.of.the.table'] . Если таблица не содержится в схеме базы данных SQL по умолчанию, используйте нотацию ['SchemaName.TableName'] . Например, для таблицы "T1" в схеме "S1": [S1". T1'] Эта спецификация необходима для всех типов таблиц, кроме Cosmos DB, так как для Cosmos DB имя коллекции является частью строки подключения. |
|
| SqlDialect | string |
Указывает тип внешней таблицы SQL Azure. SQL Server — это значение по умолчанию. Для MySQL укажите MySQL. Для PostgreSQL укажите PostgreSQL. Для Cosmos DB укажите CosmosDbSql. |
|
| Свойство | string |
Пара свойств key-value в формате PropertyName = PropertyValue. См . необязательные свойства. |
Предупреждение
Строки подключения и запросы, содержащие конфиденциальную информацию, должны быть замечены, чтобы они были опущены из любой трассировки Kusto. Дополнительные сведения см. в скрытых строковых литералах.
Необязательные свойства
| Свойство | Тип | Описание |
|---|---|---|
folder |
string |
Папка таблицы. |
docString |
string |
Строка, документируя таблицу. |
firetriggers |
true/false |
Если true, указывает целевой системе запускать триггеры INSERT, определенные в таблице SQL. Значение по умолчанию — false. (Дополнительные сведения см. в разделе BULK INSERT и System.Data.SqlClient.SqlBulkCopy) |
createifnotexists |
true/ false |
Если trueцелевая таблица SQL создается, если она еще не существует; primarykey свойство должно быть предоставлено в этом случае, чтобы указать столбец результатов, который является первичным ключом. Значение по умолчанию — false. |
primarykey |
string |
Если createifnotexists это trueтак, результирующее имя столбца используется в качестве первичного ключа таблицы SQL, если он создан этой командой. |
Проверка подлинности и авторизация
Чтобы взаимодействовать с внешней таблицей SQL Azure, необходимо указать средства проверки подлинности в составе SqlConnectionString. SqlConnectionString определяет ресурс для доступа и сведений о проверке подлинности.
Дополнительные сведения см. в статье о методах проверки подлинности внешней таблицы SQL Azure.
Примечание.
Если внешняя таблица используется для непрерывного экспорта, проверка подлинности должна выполняться с помощью имени пользователя или пароля или управляемых удостоверений.
Примеры
В следующих примерах показано, как создать каждую внешнюю таблицу SQL Azure.
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
)
Выходные данные
| ИмяТаблицы | ТипТаблицы | Папка | Строка документа | Свойства |
|---|---|---|---|---|
| MySqlExternalTable | SQL | ВнешниеTables | Документация | {} 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
.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",
)