Megosztás a következőn keresztül:


SqlPackage az Azure Synapse Analyticshez

Ez a cikk az Azure Synapse Analytics SqlPackage-támogatását ismerteti. Az alábbi témakörökre vonatkozó információkat tartalmaz:

  • integráció az Azure Blob Storage-ral a parquet-fájlokban lévő adatok eléréséhez
  • kiszolgáló nélküli SQL-készletek támogatása

A dedikált és a kiszolgáló nélküli SQL-készletek sem támogatják az SqlPackage vagy .bacpac fájlok importálási/exportálási műveleteit. Az SqlPackage támogatja az Azure Synapse Analytics-et .dacpac fájlokkal, és képes adatokat olvasni és írni parquet formátumú fájlokban az Azure Blob Storage-ban. Ha dedikált SQL-készletből szeretne adatokat importálni vagy exportálni, a közzétételi vagy kinyerési műveleteket az alábbiak szerint kell használnia.

Kinyerés (adatok exportálása)

Ha adatokat szeretne exportálni egy Azure Synapse Analytics-adatbázisból az Azure Blob Storage-ba, az SqlPackage kinyerési művelet a következő tulajdonságokkal rendelkezik:

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

Az adatbázis hozzáférése a blobtároló eléréséhez egy tárfiókkulcson keresztül engedélyezett. Az adatbázisséma (.dacpac fájl) az SqlPackage-t futtató helyi ügyfélnek van megírva, és az adatok parquet formátumban kerülnek az Azure Blob Storage-ba.

Egy további paraméter megadása nem kötelező, amely beállítja a tároló gyökérútvonalát:

  • /p:AzureStorageRootPath

Ez a tulajdonság nélkül az elérési út alapértelmezés szerint servername/databasename/timestamp/. Az adatokat a rendszer kétrészes táblanevekkel elnevezett mappákban tárolja.

példa

Az alábbi példa egy databasename nevű adatbázist nyer ki egy yourserver.sql.azuresynapse.net nevű kiszolgálóról egy databaseschema.dacpac nevű helyi fájlba az aktuális könyvtárban. Az adatok egy containername nevű tárolóba lesznek írva egy storageaccount nevű tárfiókban, egy storageaccountkeynevű tárfiókkulcs használatával. Az adatok a tárolóban lévő servername/databasename/timestamp/ alapértelmezett elérési útjára lesznek írva.

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

Az elérhető hitelesítési típusokra további példákat SqlPackage-kivonat talál.

Közzététel (adatok importálása)

Ha az Azure Blob Storage-ban lévő parquet-fájlokból szeretne adatokat importálni egy Azure Synapse Analytics-adatbázisba, az SqlPackage közzétételi művelete a következő tulajdonságokkal használható:

  • /p:AzureStorageBlobEndpoint
  • /p:AzureStorageContainer
  • /p:AzureStorageRootPath
  • „/p:AzureStorageKey” vagy „/p:AzureSharedAccessSignatureToken”

A közzétételhez való hozzáférés egy tárfiókkulcson vagy egy közös hozzáférésű jogosultságkódon (SAS) keresztül engedélyezhető. Az adatbázisséma (.dacpac fájl) a helyi ügyfélről olvasható be, amely az SqlPackage-t futtatja, míg az adatokat az Azure Blob Storage-ból olvassák be parquet formátumban.

példa

Az alábbi példa egy databasename nevű adatbázist tesz közzé egy yourserver.sql.azuresynapse.net nevű kiszolgálón az aktuális könyvtárban databaseschema.dacpac nevű helyi fájlból. Az adatok egy containername nevű tárolóból vannak beolvasva egy storageaccount nevű tárfiókban használva egy storageaccountkeynevű kulcsot. Az adatok a tárolóban található yourserver.sql.azuresynapse.net/databasename/6-12-2022_8-09-56_AM/ elérési út alatt, táblázatonként egyes mappákból olvashatók be.

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

A rendelkezésre álló hitelesítési típusok további példáiért lásd a(z) SqlPackage közzététel részt.

Kiszolgáló nélküli SQL-készletek támogatása

A Synapse kiszolgáló nélküli SQL-készletei mind a kinyerési, mind a közzétételi műveletek esetében támogatottak. A kiszolgáló nélküli SQL-készletek T-SQL felülete külső táblákra, külső nézetekre, tárolt eljárásokra, függvényekre, statisztikákra és hitelesítő adatokra korlátozódik. A kiszolgáló nélküli SQL-készletek támogatása a következő funkciókat tartalmazza:

Következő lépések

  • További információ az Extract-ről
  • További információ a publikálásáról
  • További információ az Azure Blob Storage
  • További információ az Azure Storage-fiókkulcsok