Поделиться через


SqlPackage для Azure Synapse Analytics

В этой статье рассматривается поддержка SqlPackage для Azure Synapse Analytics. В ней содержатся сведения о следующих разделах:

  • интеграция с хранилищем BLOB-объектов Azure для доступа к данным в файлах Parquet
  • поддержка бессерверных пулов SQL

Выделенные и бессерверные пулы SQL не поддерживают действия импорта и экспорта в SqlPackage или .bacpac файлах. SqlPackage поддерживает Azure Synapse Analytics с .dacpac файлами и может читать и записывать данные в файлах формата parquet в службе хранилища блогов Azure. Чтобы импортировать или экспортировать данные из выделенного пула SQL, необходимо использовать действия публикации или извлечения с данными, как описано ниже.

Извлечение (экспорт данных)

Чтобы экспортировать данные из базы данных Azure Synapse Analytics в хранилище Azure Blob Storage, действие SqlPackage extract используется со следующими свойствами:

  • /p:AzureStorageBlobEndpoint
  • /p:AzureStorageContainer
  • /p:AzureStorageKey

Доступ базы данных к контейнеру BLOB-хранилища разрешен с помощью ключа учетной записи хранения. Схема базы данных (DACPAC-файл) записывается в локальный клиент, на котором выполняется SqlPackage, и данные записываются в хранилище BLOB-объектов Azure в формате parquet.

Дополнительный параметр является необязательным, который задает корневой путь хранилища в контейнере:

  • /p:AzureStorageRootPath

Без этого свойства путь по умолчанию имеет значение servername/databasename/timestamp/. Данные хранятся в отдельных папках с именами таблиц из 2 частей.

Пример

В следующем примере извлекается база данных с именем databasename с сервера с именем yourserver.sql.azuresynapse.net в локальный файл с именем databaseschema.dacpac в текущем каталоге. Данные записываются в контейнер с именем containername в учетной записи хранения с именем storageaccount с помощью ключа учетной записи хранения с именем storageaccountkey. Данные записываются в путь по умолчанию servername/databasename/timestamp/ в контейнере.

SqlPackage /Action:Extract /SourceServerName:yourserver.sql.azuresynapse.net /SourceDatabaseName:databasename /SourceUser:sqladmin /SourcePassword:{your_password} /TargetFile:databaseschema.dacpac /p:AzureStorageBlobEndpoint=https://storageaccount.blob.core.windows.net /p:AzureStorageContainer=containername /p:AzureStorageKey=storageaccountkey

Дополнительные примеры доступных типов проверки подлинности см. в извлечении SqlPackage.

Публикация (импорт данных)

Чтобы импортировать данные из файлов Parquet в Azure Blob Storage в базу данных Azure Synapse Analytics, действие publish SqlPackage используется со следующими свойствами:

  • /p:AzureStorageBlobEndpoint
  • /p:AzureStorageContainer
  • /p:AzureStorageRootPath
  • /p:AzureStorageKey или /p:AzureSharedAccessSignatureToken

Доступ к публикации можно авторизовать с помощью ключа учетной записи для хранения или маркера разделенного доступа (SAS). Схема базы данных (DACPAC-файл) считывается из локального клиента, где работает SqlPackage, а данные считываются из хранилища Blob Azure в формате Parquet.

Пример

В следующем примере база данных с именем databasename публикуется на сервере с именем yourserver.sql.azuresynapse.net из локального файла с именем databaseschema.dacpac в текущем каталоге. Данные считываются из контейнера с именем containername в учетной записи хранения с именем storageaccount с помощью ключа учетной записи хранения с именем storageaccountkey. Данные считываются из отдельных папок для каждой таблицы по пути yourserver.sql.azuresynapse.net/databasename/6-12-2022_8-09-56_AM/ в контейнере.

SqlPackage /Action:Publish /SourceFile:databaseschema.dacpac /TargetServerName:yourserver.sql.azuresynapse.net /TargetDatabaseName:databasename /TargetUser:sqladmin /TargetPassword:{your_password} /p:AzureStorageBlobEndpoint=https://storageaccount.blob.core.windows.net /p:AzureStorageContainer=containername  /p:AzureStorageKey=storageaccountkey /p:AzureStorageRootPath="yourserver.sql.azuresynapse.net/databasename/6-12-2022_8-09-56_AM/"

См. публикацию SqlPackage для получения дополнительных примеров доступных типов проверки подлинности в.

Поддержка бессерверных пулов SQL

Бессерверные пулы SQL Synapse поддерживаются как для действий извлечения, так и для публикации. Область поверхности T-SQL бессерверных пулов SQL ограничена внешними таблицами, внешними представлениями, хранимыми процедурами, функциями, статистикой и учетными данными. Следующие функции включены в поддержку бессерверных пулов SQL:

Дальнейшие шаги