Sdílet prostřednictvím


SqlPackage pro Azure Synapse Analytics

Tento článek se zabývá podporou SqlPackage pro Azure Synapse Analytics. Obsahuje informace o následujících tématech:

  • integrace se službou Azure Blob Storage pro přístup k datům v souborech Parquet
  • podpora bezserverových fondů SQL

Vyhrazené i bezserverové fondy SQL nepodporují akce importu a exportu v sqlpackage nebo .bacpac souborech. SqlPackage podporuje Azure Synapse Analytics se .dacpac soubory a dokáže číst a zapisovat data v souborech ve formátu Parquet ve službě Azure Blob Storage. Pokud chcete importovat nebo exportovat data z vyhrazeného fondu SQL, musíte použít akce publikování nebo extrakce s daty, jak je podrobně popsáno níže.

Extrahování dat (export dat)

K exportu dat z databáze Azure Synapse Analytics do služby Azure Blob Storage se akce extrakce SqlPackage používá s následujícími vlastnostmi:

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

Databázový přístup ke kontejneru úložiště objektů blob je autorizovaný prostřednictvím klíče účtu úložiště. Schéma databáze (soubor .dacpac) je zapsáno do místního klienta, na kterém běží SqlPackage, a data se zapisuje do služby Azure Blob Storage ve formátu parquet.

Další parametr je volitelný, který nastaví kořenovou cestu úložiště v rámci kontejneru:

  • /p:AzureStorageRootPath

Bez této vlastnosti je výchozí cesta servername/databasename/timestamp/. Data jsou uložená v jednotlivých složkách pojmenovaných 2dílnými názvy tabulek.

Příklad

Následující příklad extrahuje databázi s názvem databasename ze serveru s názvem yourserver.sql.azuresynapse.net do místního souboru s názvem databaseschema.dacpac v aktuálním adresáři. Data se zapisuje do kontejneru s názvem containername v účtu úložiště s názvem storageaccount pomocí klíče účtu úložiště s názvem storageaccountkey. Data se zapíšou do výchozí cesty servername/databasename/timestamp/ v kontejneru.

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

Příklady dostupných typů ověřování najdete v SqlPackage extract.

Publikování (import dat)

K importu dat ze souborů parquet ve službě Azure Blob Storage do databáze Azure Synapse Analytics se akce publikování SqlPackage používá s následujícími vlastnostmi:

  • /p:AzureStorageBlobEndpoint
  • /p:AzureStorageContainer
  • /p:AzureStorageRootPath
  • /p:AzureStorageKey nebo /p:AzureSharedAccessSignatureToken

Přístup k publikování je možné autorizovat prostřednictvím klíče účtu úložiště nebo tokenu sdíleného přístupového podpisu (SAS). Schéma databáze (soubor .dacpac) se načítá z místního klienta, na kterém běží SqlPackage, a data se čtou ze služby Azure Blob Storage ve formátu parquet.

Příklad

Následující příklad publikuje databázi s názvem databasename na server s názvem yourserver.sql.azuresynapse.net z místního souboru s názvem databaseschema.dacpac v aktuálním adresáři. Data se čtou z kontejneru s názvem containername v účtu úložiště s názvem storageaccount pomocí klíče účtu úložiště s názvem storageaccountkey. Data se čtou z jednotlivých složek pro každou tabulku v cestě yourserver.sql.azuresynapse.net/databasename/6-12-2022_8-09-56_AM/ v kontejneru.

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/"

Další příklady dostupných typů ověřování vizte v části SqlPackage publish.

Podpora bezserverových fondů SQL

Bezserverové SQL fondy Synapse podporují jak akci extrakce, tak i publikování. Povrch T-SQL bezserverových fondů SQL je omezen návrhem na externí tabulky, externí zobrazení, uložené procedury, funkce, statistiky a přihlašovací údaje. Podpora bezserverových fondů SQL zahrnuje následující funkce:

  • Formát externího souboru Delta
  • Zprostředkovatel OPENROWSET CosmosDB s uvedenými PROVIDER, CONNECTION, OBJECT a CREDENTIAL nebo SERVER_CREDENTIAL.
  • with () klauzule on OPENROWSET

Další kroky