SqlPackage untuk Azure Synapse Analytics

Artikel ini membahas dukungan SqlPackage untuk Azure Synapse Analytics. Ini termasuk informasi tentang topik-topik berikut:

  • integrasi dengan Azure Blob Storage untuk mengakses data dalam file parket
  • dukungan untuk kumpulan SQL tanpa server

Kumpulan SQL khusus dan tanpa server tidak mendukung tindakan impor/ekspor di SqlPackage atau .bacpac file. SqlPackage mendukung Azure Synapse Analytics dengan .dacpac file dan dapat membaca dan menulis data dalam file format parket di Azure Blog Storage. Untuk mengimpor atau mengekspor data dari kumpulan SQL khusus, Anda harus menggunakan tindakan terbitkan atau ekstrak dengan data seperti yang dijelaskan di bawah ini.

Ekstrak (ekspor data)

Untuk mengekspor data dari database Azure Synapse Analytics ke Azure Blob Storage, tindakan ekstrak SqlPackage digunakan dengan properti berikut:

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

Akses untuk database untuk mengakses kontainer penyimpanan blob diotorisasi melalui kunci akun penyimpanan. Skema database (file.dacpac) ditulis ke klien lokal yang menjalankan SqlPackage dan data ditulis ke Azure Blob Storage dalam format parket.

Parameter tambahan bersifat opsional, yang mengatur jalur akar penyimpanan dalam kontainer:

  • /p:AzureStorageRootPath

Tanpa properti ini, jalur default ke servername/databasename/timestamp/. Data disimpan dalam folder individual bernama dengan nama tabel 2 bagian.

Contoh

Contoh berikut mengekstrak database bernama databasename dari server bernama yourserver.sql.azuresynapse.net ke file lokal bernama databaseschema.dacpac di direktori saat ini. Data ditulis ke kontainer bernama containername di akun penyimpanan bernama storageaccount menggunakan kunci akun penyimpanan bernama storageaccountkey. Data ditulis ke jalur servername/databasename/timestamp/ default dalam kontainer.

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

Lihat Ekstrak SqlPackage untuk contoh lebih lanjut jenis autentikasi yang tersedia.

Terbitkan (impor data)

Untuk mengimpor data dari file parket di Azure Blob Storage ke database Azure Synapse Analytics, tindakan penerbitan SqlPackage digunakan dengan properti berikut:

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

Akses untuk penerbitan dapat diotorisasi melalui kunci akun penyimpanan atau token tanda tangan akses bersama (SAS). Skema database (file.dacpac) dibaca dari klien lokal yang menjalankan SqlPackage dan data dibaca dari Azure Blob Storage dalam format parket.

Contoh

Contoh berikut menerbitkan database bernama databasename ke server bernama yourserver.sql.azuresynapse.net dari file lokal bernama databaseschema.dacpac di direktori saat ini. Data dibaca dari kontainer bernama containername di akun penyimpanan bernama storageaccount menggunakan kunci akun penyimpanan bernama storageaccountkey. Data dibaca dari folder individual per tabel di bawah jalur yourserver.sql.azuresynapse.net/databasename/6-12-2022_8-09-56_AM/ dalam kontainer.

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

Lihat Penerbitan SqlPackage untuk contoh jenis autentikasi lainnya yang tersedia.

Dukungan untuk kumpulan SQL tanpa server

Kumpulan SQL tanpa server Synapse didukung untuk tindakan ekstrak dan terbitkan. Area permukaan T-SQL dari kumpulan SQL tanpa server dibatasi oleh desain untuk tabel eksternal, tampilan eksternal, prosedur tersimpan, fungsi, statistik, dan kredensial. Fitur berikut disertakan dalam dukungan untuk kumpulan SQL tanpa server:

Langkah berikutnya