Udostępnij przez


Pakiet SqlPackage dla usługi Azure Synapse Analytics

W tym artykule opisano obsługę pakietu SqlPackage dla usługi Azure Synapse Analytics. Zawiera on informacje na temat następujących tematów:

  • integracja z usługą Azure Blob Storage w celu uzyskiwania dostępu do danych w plikach formatu Parquet
  • obsługa bezserwerowych pul SQL

Zarówno dedykowane, jak i bezserwerowe pule SQL nie obsługują akcji importowania/eksportowania w programie SqlPackage lub .bacpac plikach. Pakiet SqlPackage obsługuje usługę Azure Synapse Analytics z plikami .dacpac i może odczytywać i zapisywać dane w plikach formatu parquet w usłudze Azure Blog Storage. Aby zaimportować lub wyeksportować dane z dedykowanej puli SQL, należy użyć akcji publikowania lub wyodrębniania z danymi, jak opisano poniżej.

Wyodrębnianie (eksportowanie danych)

Aby wyeksportować dane z bazy danych usługi Azure Synapse Analytics do usługi Azure Blob Storage, akcja SqlPackage extract jest używana z następującymi właściwościami:

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

Dostęp do bazy danych w celu uzyskania dostępu do kontenera magazynu obiektów blob jest autoryzowany za pośrednictwem klucza konta magazynu. Schemat bazy danych (plik dacpac) jest zapisywany na komputerze lokalnym z uruchomionym pakietem SqlPackage, a dane są zapisywane w usłudze Azure Blob Storage w formacie parquet.

Dodatkowy opcjonalny parametr określa ścieżkę główną magazynu w kontenerze.

  • /p:AzureStorageRootPath

Bez tej właściwości ścieżka jest domyślnie ustawiona na servername/databasename/timestamp/. Dane są przechowywane w poszczególnych folderach o nazwie z 2-częściowymi nazwami tabel.

Przykład

Poniższy przykład wyodrębnia bazę danych o nazwie databasename z serwera o nazwie yourserver.sql.azuresynapse.net do pliku lokalnego o nazwie databaseschema.dacpac w bieżącym katalogu. Dane są zapisywane w kontenerze o nazwie containername na koncie magazynu o nazwie storageaccount przy użyciu klucza konta magazynu o nazwie storageaccountkey. Dane są zapisywane w domyślnej ścieżce servername/databasename/timestamp/ w kontenerze.

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

Zobacz SqlPackage extract, aby uzyskać więcej przykładów typów uwierzytelniania, które są dostępne.

Publikowanie (importowanie danych)

Aby zaimportować dane z plików parquet w usłudze Azure Blob Storage do bazy danych usługi Azure Synapse Analytics, akcja SqlPackage publish jest używana z następującymi właściwościami:

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

Dostęp do publikowania można autoryzować za pośrednictwem klucza konta magazynowego lub tokenu sygnatury dostępu współdzielonego (SAS). Schemat bazy danych (plik dacpac) jest odczytywany z klienta lokalnego z uruchomionym pakietem SqlPackage, a dane są odczytywane z usługi Azure Blob Storage w formacie parquet.

Przykład

Poniższy przykład publikuje bazę danych o nazwie databasename na serwerze o nazwie yourserver.sql.azuresynapse.net z pliku lokalnego o nazwie databaseschema.dacpac w bieżącym katalogu. Dane są odczytywane z kontenera o nazwie containername na koncie magazynu o nazwie storageaccount przy użyciu klucza konta magazynu o nazwie storageaccountkey. Dane są odczytywane z poszczególnych folderów dla każdej tabeli w ścieżce yourserver.sql.azuresynapse.net/databasename/6-12-2022_8-09-56_AM/ w kontenerze.

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

Zobacz SqlPackage publish, aby uzyskać więcej przykładów dostępnych typów uwierzytelniania.

Obsługa bezserwerowych pul SQL

Pule SQL bezserwerowe usługi Synapse są obsługiwane zarówno dla akcji wyodrębniania, jak i publikowania. Zakres funkcji T-SQL pul SQL bezserwerowych jest ograniczony do tabel zewnętrznych, widoków zewnętrznych, procedur składowanych, funkcji, statystyk i poświadczeń. Następujące funkcje są dostępne w obsłudze bezserwerowych pul SQL:

  • Format zewnętrznego pliku Delta
  • Dostawca OPENROWSET CosmosDB z określonym dostawcą, połączeniem, obiektem i poświadczeniami lub poświadczeniami serwera.
  • with () klauzula OPENROWSET

Następne kroki