Aracılığıyla paylaş


Azure Synapse Analytics için SqlPackage

Bu makale , Azure Synapse Analytics için SqlPackage desteğini kapsar. Aşağıdaki konular hakkında bilgi içerir:

  • parquet dosyalarındaki verilere erişmek için Azure Blob Depolama ile tümleştirme
  • sunucusuz SQL havuzları için destek

Hem ayrılmış hem de sunucusuz SQL havuzları, SqlPackage veya .bacpac dosyalarındaki içeri/dışarı aktarma eylemlerini desteklemez. SqlPackage, .dacpac dosyalarıyla Azure Synapse Analytics'i destekler ve Azure Blob Depolama'da verileri parquet formatındaki dosyalardan okuyabilir ve bu dosyalara yazabilir. Ayrılmış bir SQL havuzundan verileri içeri veya dışarı aktarmak için aşağıda ayrıntılı olarak açıklandığı gibi verilerle yayımlama veya ayıklama eylemlerini kullanmanız gerekir.

Veri dışa aktarma

Azure Synapse Analytics veritabanındaki verileri Azure Blob Depolama'ya aktarmak için SqlPackage ayıklama eylemi aşağıdaki özelliklerle kullanılır:

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

Veritabanının blob depolama kapsayıcısına erişmesi için erişim, bir depolama hesabı anahtarı aracılığıyla yetkilendirilmiştir. Veritabanı şeması (.dacpac dosyası) SqlPackage çalıştıran yerel istemciye yazılır ve veriler Azure Blob Depolama'ya parquet biçiminde yazılır.

Kapsayıcı içindeki depolama kök yolunu ayarlayan ek bir parametre isteğe bağlıdır:

  • /p:AzureStorageRootPath

Bu özellik olmadan, yol varsayılan olarak servername/databasename/timestamp/şeklindedir. Veriler, 2 bölümlü tablo adlarıyla adlandırılan tek tek klasörlerde depolanır.

Örnek

Aşağıdaki örnek, databasename adlı bir sunucudan yourserver.sql.azuresynapse.net adlı bir veritabanını geçerli dizindeki databaseschema.dacpac adlı yerel dosyaya ayıklar. Veriler, containernameadlı bir depolama hesabı anahtarı kullanılarak storageaccount adlı depolama hesabında storageaccountkey adlı bir kapsayıcıya yazılır. Veriler kapsayıcıdaki varsayılan servername/databasename/timestamp/ yoluna yazılır.

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

Kullanılabilir kimlik doğrulama türlerine ilişkin diğer örnekler için SqlPackage çıkarma bölümüne bakın.

Yayımlama (verileri içeri aktarma)

Azure Blob Depolama'daki parquet dosyalarından Azure Synapse Analytics veritabanına veri aktarmak için SqlPackage yayımlama eylemi aşağıdaki özelliklerle kullanılır:

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

Yayımlama erişimi bir depolama hesabı anahtarı veya paylaşılan erişim imzası (SAS) belirteci aracılığıyla yetkilendirilebilir. Veritabanı şeması (.dacpac dosyası) SqlPackage çalıştıran yerel istemciden okunur ve veriler Azure Blob Depolama'dan parquet biçiminde okunur.

Örnek

Aşağıdaki örnek, geçerli dizindeki databasename adlı yerel dosyadan yourserver.sql.azuresynapse.net adlı bir sunucuya databaseschema.dacpac adlı bir veritabanı yayımlar. Veriler, containernameadlı bir depolama hesabı anahtarı kullanılarak storageaccount adlı depolama hesabında storageaccountkey adlı bir kapsayıcıdan okunur. Veriler, kapsayıcıdaki yourserver.sql.azuresynapse.net/databasename/6-12-2022_8-09-56_AM/ yolunun altındaki tablo başına tek tek klasörlerden okunur.

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

Daha fazla kimlik doğrulama türü örneği için SqlPackage yayınla bölümüne bakın.

Sunucusuz SQL havuzları desteği

Synapse sunucusuz SQL havuzları hem ayıklama hem de yayımlama eylemleri için desteklenir. Sunucusuz SQL havuzlarının T-SQL yüzey alanı , tasarım gereği dış tablolar, dış görünümler, saklı yordamlar, işlevler, istatistikler ve kimlik bilgileriyle sınırlıdır. Sunucusuz SQL havuzları desteğine aşağıdaki özellikler dahildir:

  • Delta dış dosya biçimi
  • PROVIDER, CONNECTION, OBJECT ve CREDENTIAL veya SERVER_CREDENTIAL belirtilen OPENROWSET sağlayıcısı CosmosDB
  • with () OPENROWSET'te yan tümcesi

Sonraki Adımlar

  • Ekstraktı hakkında daha fazla bilgi edinin
  • Yayımlama hakkında daha fazla bilgi edinin
  • Azure Blob Depolama hakkında daha fazla bilgi edinin
  • Azure Depolama Hesabı Anahtarları hakkında daha fazla bilgi edinin