Adatok másolása és átalakítása az Azure Synapse Analyticsben az Azure Data Factory vagy a Synapse-folyamatok használatával

A következőkre vonatkozik: Azure Data Factory Azure Synapse Analytics

Tipp.

Próbálja ki a Data Factoryt a Microsoft Fabricben, amely egy teljes körű elemzési megoldás a nagyvállalatok számára. A Microsoft Fabric az adattovábbítástól az adatelemzésig, a valós idejű elemzésig, az üzleti intelligenciáig és a jelentéskészítésig mindent lefed. Ismerje meg, hogyan indíthat új próbaverziót ingyenesen!

Ez a cikk bemutatja, hogyan használható a másolási tevékenység az Azure Data Factoryben vagy a Synapse-folyamatokban adatok másolására az Azure Synapse Analyticsből és az Azure Synapse Analyticsbe, és hogyan lehet Adatfolyam átalakítani az adatokat az Azure Data Lake Storage Gen2-ben. Az Azure Data Factory megismeréséhez olvassa el a bevezető cikket.

Támogatott képességek

Ez az Azure Synapse Analytics-összekötő a következő képességeket támogatja:

Támogatott képességek IR Felügyelt privát végpont
Copy tevékenység (forrás/fogadó) (1) (2)
Adatfolyam leképezése (forrás/fogadó) (1)
Keresési tevékenység (1) (2)
GetMetadata-tevékenység (1) (2)
Szkripttevékenység (1) (2)
Tárolt eljárástevékenység (1) (2)

(1) Azure-integrációs modul (2) Saját üzemeltetésű integrációs modul

Az Copy tevékenység esetében ez az Azure Synapse Analytics-összekötő az alábbi függvényeket támogatja:

  • Adatok másolása SQL-hitelesítéssel és Microsoft Entra-alkalmazásjogkivonat-hitelesítéssel az Azure-erőforrások szolgáltatásnévvel vagy felügyelt identitásokkal.
  • Forrásként sql-lekérdezéssel vagy tárolt eljárással kér le adatokat. Az Azure Synapse Analytics-forrásból történő párhuzamos másolást is választhatja, a részletekért tekintse meg az Azure Synapse Analytics párhuzamos példányát ismertető szakaszt.
  • Fogadóként másolja be az adatokat COPY utasítás vagy PolyBase vagy tömeges beszúrás használatával. A jobb másolási teljesítmény érdekében a COPY utasítást vagy a PolyBase-t javasoljuk. Az összekötő támogatja a céltábla automatikus létrehozását a DISTRIBUTION = ROUND_ROBIN használatával, ha nem létezik a forrásséma alapján.

Fontos

Ha adatokat másol egy Azure Integration Runtime használatával, konfiguráljon egy kiszolgálószintű tűzfalszabályt, hogy az Azure-szolgáltatások hozzáférhessenek a logikai SQL-kiszolgálóhoz. Ha egy saját üzemeltetésű integrációs modullal másol adatokat, konfigurálja a tűzfalat a megfelelő IP-címtartomány engedélyezéséhez. Ez a tartomány az Azure Synapse Analyticshez való csatlakozáshoz használt gép IP-címét is tartalmazza.

Első lépések

Tipp.

A legjobb teljesítmény érdekében a PolyBase vagy a COPY utasítás használatával töltse be az adatokat az Azure Synapse Analyticsbe. A PolyBase használatával adatokat tölthet be az Azure Synapse Analyticsbe , és a COPY utasítás használatával adatokat tölthet be az Azure Synapse Analytics-szakaszokba . A használati esetekkel kapcsolatos útmutatóért tekintse meg az 1 TB-os terhelést az Azure Synapse Analyticsbe 15 perc alatt az Azure Data Factoryvel.

A Copy tevékenység folyamattal való végrehajtásához használja az alábbi eszközök vagy SDK-k egyikét:

Azure Synapse Analytics társított szolgáltatás létrehozása felhasználói felülettel

Az alábbi lépésekkel azure Synapse Analytics-társított szolgáltatást hozhat létre az Azure Portal felhasználói felületén.

  1. Keresse meg az Azure Data Factory vagy a Synapse-munkaterület Kezelés lapját, és válassza a Társított szolgáltatások lehetőséget, majd kattintson az Új gombra:

  2. Keresse meg a Synapse-t, és válassza ki az Azure Synapse Analytics-összekötőt.

    Képernyőkép az Azure Synapse Analytics-összekötőről.

  3. Konfigurálja a szolgáltatás részleteit, tesztelje a kapcsolatot, és hozza létre az új társított szolgáltatást.

    Képernyőkép az Azure Synapse Analytics társított szolgáltatás konfigurációjáról.

Csatlakozás or konfigurációjának részletei

A következő szakaszok az Azure Synapse Analytics-összekötőre jellemző Data Factory- és Synapse-folyamatentitást meghatározó tulajdonságokat ismertetik.

Társított szolgáltatás tulajdonságai

Az Azure Synapse Analytics társított szolgáltatásai az alábbi általános tulajdonságokat támogatják:

Tulajdonság Leírás Kötelező
típus A típustulajdonságot AzureSqlDW-ra kell állítani. Igen
connectionString Adja meg a connectionString tulajdonság Azure Synapse Analytics-példányához való csatlakozáshoz szükséges információkat.
Jelölje meg ezt a mezőt SecureStringként a biztonságos tároláshoz. Az Azure Key Vaultban jelszó-/szolgáltatásnévkulcsot is elhelyezhet, és ha SQL-hitelesítésről van szó, akkor a password konfigurációt ki kell húznia a kapcsolati sztring. További részletekért tekintse meg a táblázat alatti JSON-példát és az Azure Key Vault hitelesítő adatait ismertető cikket.
Igen
azureCloudType A szolgáltatásnév hitelesítéséhez adja meg annak az Azure-felhőkörnyezetnek a típusát, amelyre a Microsoft Entra-alkalmazás regisztrálva van.
Az engedélyezett értékek a következőkAzurePublic: , AzureChinaAzureUsGovernmentés AzureGermany. Alapértelmezés szerint a rendszer az adat-előállítót vagy a Synapse-folyamat felhőkörnyezetét használja.
Nem
connectVia Az adattárhoz való csatlakozáshoz használandó integrációs modul . Használhatja az Azure Integration Runtime-ot vagy egy saját üzemeltetésű integrációs modult (ha az adattár magánhálózaton található). Ha nincs megadva, az alapértelmezett Azure Integration Runtime-t használja. Nem

A különböző hitelesítési típusok esetében tekintse meg az egyes tulajdonságokra, előfeltételekre és JSON-mintákra vonatkozó alábbi szakaszokat:

Tipp.

Kiszolgáló nélküli SQL-készlet társított szolgáltatásának létrehozásakor az Azure Synapse-ben az Azure Portalról:

  1. Fiókválasztási módszer esetén válassza az Enter manuálisan lehetőséget.
  2. Illessze be a kiszolgáló nélküli végpont teljes tartománynevét . Ezt a Synapse-munkaterület Azure Portal áttekintési lapján, a Kiszolgáló nélküli SQL-végpont tulajdonságai között találja. Például: myserver-ondemand.sql-azuresynapse.net.
  3. Az adatbázisnévhez adja meg az adatbázis nevét a kiszolgáló nélküli SQL-készletben.

Tipp.

Ha "UserErrorFailedTo Csatlakozás ToSqlServer" hibaüzenetet kapott, és "Az adatbázis munkamenetkorlátja XXX, és elérte." hibaüzenet jelenik meg, adja hozzá Pooling=false a kapcsolati sztring, és próbálkozzon újra.

SQL-hitelesítés

Az SQL-hitelesítés típusának használatához adja meg az előző szakaszban ismertetett általános tulajdonságokat.

SQL-hitelesítést használó társított szolgáltatás példája

{
    "name": "AzureSqlDWLinkedService",
    "properties": {
        "type": "AzureSqlDW",
        "typeProperties": {
            "connectionString": "Server=tcp:<servername>.database.windows.net,1433;Database=<databasename>;User ID=<username>@<servername>;Password=<password>;Trusted_Connection=False;Encrypt=True;Connection Timeout=30"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Jelszó az Azure Key Vaultban:

{
    "name": "AzureSqlDWLinkedService",
    "properties": {
        "type": "AzureSqlDW",
        "typeProperties": {
            "connectionString": "Server=tcp:<servername>.database.windows.net,1433;Database=<databasename>;User ID=<username>@<servername>;Trusted_Connection=False;Encrypt=True;Connection Timeout=30",
            "password": {
                "type": "AzureKeyVaultSecret",
                "store": {
                    "referenceName": "<Azure Key Vault linked service name>",
                    "type": "LinkedServiceReference"
                },
                "secretName": "<secretName>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Egyszerű szolgáltatás hitelesítése

A szolgáltatásnév-hitelesítés használatához az előző szakaszban ismertetett általános tulajdonságok mellett adja meg a következő tulajdonságokat:

Tulajdonság Leírás Kötelező
servicePrincipalId Adja meg az alkalmazás ügyfél-azonosítóját. Igen
servicePrincipalKey Adja meg az alkalmazás kulcsát. Jelölje meg ezt a mezőt SecureStringként, hogy biztonságosan tárolja, vagy hivatkozzon az Azure Key Vaultban tárolt titkos kódra. Igen
bérlő Adja meg azt a bérlői információt (tartománynevet vagy bérlőazonosítót), amely alatt az alkalmazás található. A lekéréshez vigye az egérmutatót az Azure Portal jobb felső sarkában. Igen

Az alábbi lépéseket is követnie kell:

  1. Microsoft Entra-alkalmazás létrehozása az Azure Portalról. Jegyezze fel az alkalmazás nevét és a társított szolgáltatást meghatározó alábbi értékeket:

    • Pályázat azonosítója
    • Alkalmazáskulcs
    • Bérlőazonosító
  2. Ha még nem tette meg, kiépíthet egy Microsoft Entra-rendszergazdát a kiszolgálóhoz az Azure Portalon. A Microsoft Entra rendszergazdája lehet Microsoft Entra-felhasználó vagy Microsoft Entra-csoport. Ha rendszergazdai szerepkört ad a felügyelt identitással rendelkező csoportnak, hagyja ki a 3. és a 4. lépést. A rendszergazda teljes hozzáféréssel rendelkezik az adatbázishoz.

  3. Tartalmazott adatbázis-felhasználók létrehozása a szolgáltatásnévhez. Csatlakozás arra az adattárházra, ahonnan vagy ahová adatokat szeretne másolni az SSMS-hez hasonló eszközökkel, olyan Microsoft Entra-identitással, amely legalább BÁRMILYEN U Standard kiadás R engedéllyel rendelkezik. Futtassa a következő T-SQL-t:

    CREATE USER [your_application_name] FROM EXTERNAL PROVIDER;
    
  4. Adja meg a szolgáltatásnévnek a szükséges engedélyeket , ahogyan azt az SQL-felhasználók vagy mások esetében általában teszi. Futtassa a következő kódot, vagy tekintse meg a további lehetőségeket. Ha a PolyBase használatával szeretné betölteni az adatokat, ismerje meg a szükséges adatbázis-engedélyeket.

    EXEC sp_addrolemember db_owner, [your application name];
    
  5. Azure Synapse Analytics társított szolgáltatás konfigurálása Azure Data Factory- vagy Synapse-munkaterületen.

Szolgáltatásnév-hitelesítést használó társított szolgáltatás példája

{
    "name": "AzureSqlDWLinkedService",
    "properties": {
        "type": "AzureSqlDW",
        "typeProperties": {
            "connectionString": "Server=tcp:<servername>.database.windows.net,1433;Database=<databasename>;Connection Timeout=30",
            "servicePrincipalId": "<service principal id>",
            "servicePrincipalKey": {
                "type": "SecureString",
                "value": "<service principal key>"
            },
            "tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Rendszer által hozzárendelt felügyelt identitások az Azure-erőforrások hitelesítéséhez

Egy adat-előállító vagy Synapse-munkaterület társítható az erőforrást képviselő Azure-erőforrások rendszer által hozzárendelt felügyelt identitásával. Ezt a felügyelt identitást használhatja az Azure Synapse Analytics-hitelesítéshez. A kijelölt erőforrás ezzel az identitással férhet hozzá és másolhat adatokat az adattárházból vagy az adattárházba.

A rendszer által hozzárendelt felügyelt identitáshitelesítés használatához adja meg az előző szakaszban ismertetett általános tulajdonságokat, és kövesse az alábbi lépéseket.

  1. Ha még nem tette meg, kiépíthet egy Microsoft Entra-rendszergazdát a kiszolgálóhoz az Azure Portalon. A Microsoft Entra rendszergazdája lehet Microsoft Entra-felhasználó vagy Microsoft Entra-csoport. Ha rendszergazdai szerepkört ad a csoportnak a rendszer által hozzárendelt felügyelt identitással, hagyja ki a 3. és a 4. lépést. A rendszergazda teljes hozzáféréssel rendelkezik az adatbázishoz.

  2. Tartalmazott adatbázis-felhasználók létrehozása a rendszer által hozzárendelt felügyelt identitáshoz. Csatlakozás arra az adattárházra, ahonnan vagy ahová adatokat szeretne másolni az SSMS-hez hasonló eszközökkel, olyan Microsoft Entra-identitással, amely legalább BÁRMILYEN U Standard kiadás R engedéllyel rendelkezik. Futtassa a következő T-SQL-t.

    CREATE USER [your_resource_name] FROM EXTERNAL PROVIDER;
    
  3. Adja meg a rendszer által hozzárendelt felügyelt identitásnak a szükséges engedélyeket , ahogyan azt az SQL-felhasználók és mások esetében általában teszi. Futtassa a következő kódot, vagy tekintse meg a további lehetőségeket. Ha a PolyBase használatával szeretné betölteni az adatokat, ismerje meg a szükséges adatbázis-engedélyeket.

    EXEC sp_addrolemember db_owner, [your_resource_name];
    
  4. Azure Synapse Analytics társított szolgáltatás konfigurálása.

Példa:

{
    "name": "AzureSqlDWLinkedService",
    "properties": {
        "type": "AzureSqlDW",
        "typeProperties": {
            "connectionString": "Server=tcp:<servername>.database.windows.net,1433;Database=<databasename>;Connection Timeout=30"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Felhasználó által hozzárendelt felügyelt identitás hitelesítése

Az adat-előállító vagy a Synapse-munkaterület társítható egy felhasználó által hozzárendelt felügyelt identitással , amely az erőforrást jelöli. Ezt a felügyelt identitást használhatja az Azure Synapse Analytics-hitelesítéshez. A kijelölt erőforrás ezzel az identitással férhet hozzá és másolhat adatokat az adattárházból vagy az adattárházba.

A felhasználó által hozzárendelt felügyelt identitáshitelesítés használatához az előző szakaszban ismertetett általános tulajdonságok mellett adja meg a következő tulajdonságokat:

Tulajdonság Leírás Kötelező
hitelesítő adatok Adja meg a felhasználó által hozzárendelt felügyelt identitást hitelesítő objektumként. Igen

Az alábbi lépéseket is követnie kell:

  1. Ha még nem tette meg, kiépíthet egy Microsoft Entra-rendszergazdát a kiszolgálóhoz az Azure Portalon. A Microsoft Entra rendszergazdája lehet Microsoft Entra-felhasználó vagy Microsoft Entra-csoport. Ha rendszergazdai szerepkört ad a csoportnak a felhasználó által hozzárendelt felügyelt identitással, hagyja ki a 3. lépést. A rendszergazda teljes hozzáféréssel rendelkezik az adatbázishoz.

  2. Tartalmazott adatbázis-felhasználók létrehozása a felhasználó által hozzárendelt felügyelt identitáshoz. Csatlakozás arra az adattárházra, ahonnan vagy ahová adatokat szeretne másolni az SSMS-hez hasonló eszközökkel, olyan Microsoft Entra-identitással, amely legalább BÁRMILYEN U Standard kiadás R engedéllyel rendelkezik. Futtassa a következő T-SQL-t.

    CREATE USER [your_resource_name] FROM EXTERNAL PROVIDER;
    
  3. Hozzon létre egy vagy több felhasználó által hozzárendelt felügyelt identitást , és adja meg a felhasználó által hozzárendelt felügyelt identitásnak a szükséges engedélyeket , ahogyan azt az SQL-felhasználók és mások esetében általában teszi. Futtassa a következő kódot, vagy tekintse meg a további lehetőségeket. Ha a PolyBase használatával szeretné betölteni az adatokat, ismerje meg a szükséges adatbázis-engedélyeket.

    EXEC sp_addrolemember db_owner, [your_resource_name];
    
  4. Rendeljen hozzá egy vagy több felhasználó által hozzárendelt felügyelt identitást az adat-előállítóhoz, és hozzon létre hitelesítő adatokat minden felhasználó által hozzárendelt felügyelt identitáshoz.

  5. Azure Synapse Analytics társított szolgáltatás konfigurálása.

Példa:

{
    "name": "AzureSqlDWLinkedService",
    "properties": {
        "type": "AzureSqlDW",
        "typeProperties": {
            "connectionString": "Server=tcp:<servername>.database.windows.net,1433;Database=<databasename>;Connection Timeout=30",
            "credential": {
                "referenceName": "credential1",
                "type": "CredentialReference"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Adathalmaz tulajdonságai

Az adathalmazok meghatározásához elérhető szakaszok és tulajdonságok teljes listáját az Adathalmazok című cikkben találja.

Az Azure Synapse Analytics-adathalmaz esetében a következő tulajdonságok támogatottak:

Tulajdonság Leírás Kötelező
típus Az adathalmaz típustulajdonságának AzureSqlDWTable értékre kell állítania. Igen
schema A séma neve. Nem a forráshoz, igen a fogadóhoz
table A tábla/nézet neve. Nem a forráshoz, igen a fogadóhoz
tableName A táblázat/nézet neve sémával. Ez a tulajdonság támogatja a visszamenőleges kompatibilitást. Új számítási feladatokhoz használja schema és table. Nem a forráshoz, igen a fogadóhoz

Példa adathalmaztulajdonságokra

{
    "name": "AzureSQLDWDataset",
    "properties":
    {
        "type": "AzureSqlDWTable",
        "linkedServiceName": {
            "referenceName": "<Azure Synapse Analytics linked service name>",
            "type": "LinkedServiceReference"
        },
        "schema": [ < physical schema, optional, retrievable during authoring > ],
        "typeProperties": {
            "schema": "<schema_name>",
            "table": "<table_name>"
        }
    }
}

Másolási tevékenység tulajdonságai

A tevékenységek meghatározásához elérhető szakaszok és tulajdonságok teljes listáját a Folyamatok című cikkben találja. Ez a szakasz az Azure Synapse Analytics-forrás és -fogadó által támogatott tulajdonságok listáját tartalmazza.

Forrásként az Azure Synapse Analytics

Tipp.

Az Azure Synapse Analyticsből származó adatok hatékony adatparticionálással való betöltéséhez további információt az Azure Synapse Analytics párhuzamos másolásáról tudhat meg.

Ha adatokat szeretne másolni az Azure Synapse Analyticsből, állítsa a másolási tevékenység forrásának típustulajdonságát az SqlDWSource-ra. A Másolási tevékenység forrás szakasza a következő tulajdonságokat támogatja:

Tulajdonság Leírás Kötelező
típus A Másolási tevékenység forrás típustulajdonságának SqlDWSource értékre kell állítania. Igen
sqlReaderQuery Az adatok olvasásához használja az egyéni SQL-lekérdezést. Példa: select * from MyTable Nem
sqlReaderStoredProcedureName Annak a tárolt eljárásnak a neve, amely adatokat olvas be a forrástáblából. Az utolsó SQL-utasításnak egy Standard kiadás LECT utasításnak kell lennie a tárolt eljárásban. Nem
storedProcedureParameters A tárolt eljárás paraméterei.
Az engedélyezett értékek név- vagy értékpárok. A paraméterek nevének és burkolatának meg kell egyeznie a tárolt eljárásparaméterek nevével és burkolatával.
Nem
isolationLevel Az SQL-forrás tranzakciózárolási viselkedését adja meg. Az engedélyezett értékek a következők: ReadCommitted, ReadUncommitted, RepeatableRead, Serializable, Snapshot. Ha nincs megadva, a rendszer az adatbázis alapértelmezett elkülönítési szintjét használja. További információ: system.data.isolationlevel. Nem
partitionOptions Megadja az Azure Synapse Analyticsből való adatok betöltéséhez használt adatparticionálási beállításokat.
Az engedélyezett értékek a következők: Nincs (alapértelmezett), PhysicalPartitionsOfTable és DynamicRange.
Ha egy partíciós beállítás engedélyezve van (vagyis nem None), az Azure Synapse Analytics adatainak egyidejű betöltéséhez szükséges párhuzamosság mértékét a parallelCopies másolási tevékenység beállításai vezérlik.
Nem
partíció Gépház Adja meg az adatparticionálás beállításainak csoportját.
Akkor alkalmazható, ha a partíciós beállítás nem None.
Nem
A következő alatt partitionSettings:
partitionColumnName Adja meg annak a forrásoszlopnak a nevét egész számban vagy dátum/dátum/idő típusban (int, , smallint, bigint, datesmalldatetime, datetime, , datetime2) , datetimeoffsetamelyet a tartomány particionálása használ a párhuzamos másoláshoz. Ha nincs megadva, a rendszer automatikusan észleli a tábla indexét vagy elsődleges kulcsát, és partícióoszlopként használja.
Akkor alkalmazható, ha a partíció beállítás.DynamicRange Ha lekérdezést használ a forrásadatok lekéréséhez, a WHERE záradékban kapcsoljon ?DfDynamicRangePartitionCondition be. Példaként tekintse meg az SQL Database párhuzamos másolatát.
Nem
partitionUpperBound A partíciótartományok felosztásához használt partícióoszlop maximális értéke. Ez az érték határozza meg a partíciós léptetést, nem pedig a tábla sorainak szűrésére. A tábla vagy lekérdezés eredményének összes sora particionálásra és másolásra kerül. Ha nincs megadva, a másolási tevékenység automatikusan észleli az értéket.
Akkor alkalmazható, ha a partíció beállítás.DynamicRange Példaként tekintse meg az SQL Database párhuzamos másolatát.
Nem
partitionLowerBound A partíciótartományok felosztásához használt partícióoszlop minimális értéke. Ez az érték határozza meg a partíciós léptetést, nem pedig a tábla sorainak szűrésére. A tábla vagy lekérdezés eredményének összes sora particionálásra és másolásra kerül. Ha nincs megadva, a másolási tevékenység automatikusan észleli az értéket.
Akkor alkalmazható, ha a partíció beállítás.DynamicRange Példaként tekintse meg az SQL Database párhuzamos másolatát.
Nem

Jegyezze fel a következő pontot:

  • Ha tárolt eljárást használ a forrásban az adatok lekéréséhez, vegye figyelembe, hogy a tárolt eljárás más sémát ad vissza, amikor különböző paraméterértéket ad át, akkor előfordulhat, hogy a séma felhasználói felületről történő importálásakor vagy az adatok sql-adatbázisba való automatikus létrehozásakor hiba vagy váratlan eredmény jelenik meg.

Példa: SQL-lekérdezés használata

"activities":[
    {
        "name": "CopyFromAzureSQLDW",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Azure Synapse Analytics input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "SqlDWSource",
                "sqlReaderQuery": "SELECT * FROM MyTable"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Példa: tárolt eljárás használata

"activities":[
    {
        "name": "CopyFromAzureSQLDW",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Azure Synapse Analytics input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "SqlDWSource",
                "sqlReaderStoredProcedureName": "CopyTestSrcStoredProcedureWithParameters",
                "storedProcedureParameters": {
                    "stringData": { "value": "str3" },
                    "identifier": { "value": "$$Text.Format('{0:yyyy}', <datetime parameter>)", "type": "Int"}
                }
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Minta tárolt eljárás:

CREATE PROCEDURE CopyTestSrcStoredProcedureWithParameters
(
    @stringData varchar(20),
    @identifier int
)
AS
SET NOCOUNT ON;
BEGIN
    select *
    from dbo.UnitTestSrcTable
    where dbo.UnitTestSrcTable.stringData != stringData
    and dbo.UnitTestSrcTable.identifier != identifier
END
GO

Azure Synapse Analytics fogadóként

Az Azure Data Factory és a Synapse-folyamatok három módszert támogatnak az adatok Azure Synapse Analyticsbe való betöltésére.

Az adatok betöltésének leggyorsabb és legskálázható módja a COPY utasítás vagy a PolyBase.

Ha adatokat szeretne másolni az Azure Synapse Analyticsbe, állítsa be a fogadó típusát a Másolási tevékenységben az SqlDWSinkre. A Másolási tevékenység fogadó szakasz a következő tulajdonságokat támogatja:

Tulajdonság Leírás Kötelező
típus A Másolási tevékenység fogadó típustulajdonságának SqlDWSink értékre kell állítania. Igen
allowPolyBase Azt jelzi, hogy a PolyBase használatával tölt-e be adatokat az Azure Synapse Analyticsbe. allowCopyCommand és allowPolyBase nem lehet mindkettő igaz.

A korlátozásokért és részletekért tekintse meg a PolyBase használata az adatok Azure Synapse Analyticsbe való betöltését ismertető szakaszt.

Az engedélyezett értékek a True (Igaz ) és a False (alapértelmezett) értékek.
Szám
Alkalmazza a PolyBase használatakor.
polyBase Gépház Tulajdonságcsoport, amely akkor adható meg, ha a allowPolybase tulajdonság értéke igaz. Szám
Alkalmazza a PolyBase használatakor.
allowCopyCommand Azt jelzi, hogy a COPY utasítás használatával tölt-e be adatokat az Azure Synapse Analyticsbe. allowCopyCommand és allowPolyBase nem lehet mindkettő igaz.

A korlátozásokért és részletekért tekintse meg a COPY utasítás használata az adatok Azure Synapse Analyticsbe való betöltését ismertető szakaszt.

Az engedélyezett értékek a True (Igaz ) és a False (alapértelmezett) értékek.
Szám
A COPY használata esetén alkalmazható.
copyCommand Gépház Tulajdonságcsoport, amely akkor adható meg, ha allowCopyCommand a tulajdonság értéke IGAZ. Szám
A COPY használata esetén alkalmazható.
writeBatchSize Az SQL-táblába kötegenként beszúrandó sorok száma.

Az engedélyezett érték egész szám (sorok száma). Alapértelmezés szerint a szolgáltatás dinamikusan határozza meg a megfelelő kötegméretet a sorméret alapján.
Szám
Tömeges beszúrás esetén alkalmazható.
writeBatchTimeout A beszúrási, upsert- és tárolt eljárásművelet befejezésének várakozási ideje, mielőtt túllépi az időkorlátot.
Az engedélyezett értékek az időbélyeghez tartoznak. Ilyen például a "00:30:00" 30 percig. Ha nincs megadva érték, az időtúllépés alapértelmezés szerint "00:30:00".
Szám
Tömeges beszúrás esetén alkalmazható.
preCopyScript Adjon meg egy SQL-lekérdezést a másolási tevékenység futtatásához, mielőtt adatokat írna az Azure Synapse Analyticsbe minden futtatás során. Ezzel a tulajdonságkal törölheti az előre betöltött adatokat. Nem
tableOption Megadja, hogy a forrásséma alapján automatikusan hozza-e létre a fogadótáblát, ha nem létezik. Az engedélyezett értékek a következők: none (alapértelmezett), autoCreate. Nem
disableMetricsCollection A szolgáltatás olyan metrikákat gyűjt, mint az Azure Synapse Analytics DWU-k a másolási teljesítmény optimalizálásához és a javaslatokhoz, amelyek további főadatbázis-hozzáférést vezetnek be. Ha ezzel a viselkedéssel foglalkozik, adja meg true , hogy kikapcsolja azt. Nem (alapértelmezett érték false)
 maxConcurrent Csatlakozás ions Az adattárhoz a tevékenység futtatása során létrehozott egyidejű kapcsolatok felső korlátja. Csak akkor adjon meg értéket, ha korlátozni szeretné az egyidejű kapcsolatokat.  Nem
WriteBehavior Adja meg a másolási tevékenység írási viselkedését az adatok Azure SQL Database-be való betöltéséhez.
Az engedélyezett érték a Beszúrás és az Upsert. Alapértelmezés szerint a szolgáltatás beszúrással tölti be az adatokat.
Nem
upsert Gépház Adja meg az írási viselkedés beállításainak csoportját.
Alkalmazza, ha a WriteBehavior beállítás a következő Upsert: .
Nem
A következő alatt upsertSettings:
keys Adja meg az egyedi sorazonosítás oszlopnevét. Egy vagy több kulcs használható. Ha nincs megadva, a rendszer az elsődleges kulcsot használja. Nem
interimSchemaName Adja meg a köztes tábla létrehozásához szükséges köztes sémát. Megjegyzés: a felhasználónak rendelkeznie kell a tábla létrehozására és törlésére vonatkozó engedéllyel. Alapértelmezés szerint a köztes tábla ugyanazt a sémát fogja megosztani, mint a fogadó táblát. Nem

1. példa: Azure Synapse Analytics-fogadó

"sink": {
    "type": "SqlDWSink",
    "allowPolyBase": true,
    "polyBaseSettings":
    {
        "rejectType": "percentage",
        "rejectValue": 10.0,
        "rejectSampleValue": 100,
        "useTypeDefault": true
    }
}

2. példa: Upsert data

"sink": {
    "type": "SqlDWSink",
    "writeBehavior": "Upsert",
    "upsertSettings": {
        "keys": [
             "<column name>"
        ],
        "interimSchemaName": "<interim schema name>"
    },
}

Párhuzamos másolás az Azure Synapse Analyticsből

Az Azure Synapse Analytics-összekötő másolási tevékenységben beépített adatparticionálást biztosít az adatok párhuzamos másolásához. Az adatparticionálási beállításokat a másolási tevékenység Forrás lapján találja.

Képernyőkép a partícióbeállításokról

Ha engedélyezi a particionált másolást, a másolási tevékenység párhuzamos lekérdezéseket futtat az Azure Synapse Analytics-forráson az adatok partíciók szerinti betöltéséhez. A párhuzamos fokot a másolási parallelCopies tevékenység beállításai vezérlik. Ha például négyre van állítva parallelCopies , a szolgáltatás egyszerre generál és futtat négy lekérdezést a megadott partícióbeállítás és beállítások alapján, és mindegyik lekérdezés lekéri az adatok egy részét az Azure Synapse Analyticsből.

Javasoljuk, hogy engedélyezze a párhuzamos másolást adatparticionálással, különösen akkor, ha nagy mennyiségű adatot tölt be az Azure Synapse Analyticsből. A következő javasolt konfigurációk különböző forgatókönyvekhez. Ha fájlalapú adattárba másol adatokat, ajánlott több fájlként írni egy mappába (csak a mappa nevét kell megadni), ebben az esetben a teljesítmény jobb, mint egyetlen fájlba írni.

Eset Javasolt beállítások
Teljes terhelés nagy táblából, fizikai partíciókkal. Partíciós beállítás: A tábla fizikai partíciói.

A végrehajtás során a szolgáltatás automatikusan észleli a fizikai partíciókat, és partíciók alapján másolja az adatokat.

Ha ellenőrizni szeretné, hogy a tábla rendelkezik-e fizikai partícióval, tekintse meg ezt a lekérdezést.
Teljes terhelés nagy táblából fizikai partíciók nélkül, egész számmal vagy datetime oszlopmal az adatparticionáláshoz. Partícióbeállítások: Dinamikus tartomány partíciója.
Partícióoszlop (nem kötelező): Adja meg az adatok particionálásához használt oszlopot. Ha nincs megadva, a rendszer az indexet vagy az elsődleges kulcs oszlopot használja.
A partíció felső határa és a partíció alsó határa (nem kötelező): Adja meg, hogy meg szeretné-e határozni a partíciós lépést. Ez nem a táblázat sorainak szűrésére, hanem a tábla összes sorának particionálása és másolása történik. Ha nincs megadva, a másolási tevékenység automatikusan észleli az értékeket.

Ha például az "ID" partícióoszlop értéke 1 és 100 között van, és az alsó kötést 20-ra, a felső kötést pedig 80-ra állítja be, a párhuzamos másolás 4-zel történik, a szolgáltatás 4 partícióval kéri le az adatokat – azonosítók az =20, [21, 50], [51, 80] és >=81 tartományban<.
Nagy mennyiségű adat betöltése egyéni lekérdezéssel fizikai partíciók nélkül, az adatparticionáláshoz pedig egész számmal vagy dátum/dátum/idő oszlopmal. Partícióbeállítások: Dinamikus tartomány partíciója.
Lekérdezés: SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>.
Partícióoszlop: Adja meg az adatok particionálásához használt oszlopot.
A partíció felső határa és a partíció alsó határa (nem kötelező): Adja meg, hogy meg szeretné-e határozni a partíciós lépést. Ez nem a tábla sorainak szűrésére használható, a lekérdezés eredményének összes sora particionálásra és másolásra kerül. Ha nincs megadva, a másolási tevékenység automatikusan észleli az értéket.

Ha például az "ID" partícióoszlop értéke 1 és 100 között van, és az alsó kötést 20-ra, a felső kötést pedig 80-ra állítja be, a párhuzamos másolás 4-zel, akkor a szolgáltatás 4 partícióazonosítóval kéri le az adatokat az =20, [21, 50], [51, 80] és >=81 tartományban<.

Az alábbiakban további minta lekérdezéseket talál a különböző forgatókönyvekhez:
1. A teljes tábla lekérdezése:
SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition
2. Lekérdezés oszlopkijelöléssel és további where-clause szűrőkkel rendelkező táblából:
SELECT <column_list> FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>
3. Lekérdezés al lekérdezésekkel:
SELECT <column_list> FROM (<your_sub_query>) AS T WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>
4. Lekérdezés a partícióval az alkérdezésben:
SELECT <column_list> FROM (SELECT <your_sub_query_column_list> FROM <TableName> WHERE ?DfDynamicRangePartitionCondition) AS T

Ajánlott eljárások az adatok partíciós beállítással való betöltéséhez:

  1. Válassza a megkülönböztető oszlopot partícióoszlopként (például elsődleges kulcs vagy egyedi kulcs) az adateltérés elkerülése érdekében.
  2. Ha a tábla beépített partícióval rendelkezik, a jobb teljesítmény érdekében használja a "Tábla fizikai partíciói" partícióbeállítást.
  3. Ha az Azure Integration Runtime-t használja az adatok másolásához, nagyobb "adatintegráció egységeket (DIU)" (>4) állíthat be a nagyobb számítási erőforrások használatához. Ellenőrizze a vonatkozó forgatókönyveket.
  4. A "másolási párhuzamosság foka" szabályozza a partíciószámokat, a túl nagy szám beállítása néha rontja a teljesítményt, javasoljuk, hogy állítsa be ezt a számot (DIU vagy a saját üzemeltetésű INTEGRÁCIÓs csomópontok száma) * (2–4).
  5. Vegye figyelembe, hogy az Azure Synapse Analytics egyszerre legfeljebb 32 lekérdezést hajthat végre, a túl nagy másolási párhuzamosság beállítása synapse-szabályozással kapcsolatos problémát okozhat.

Példa: teljes terhelés nagy táblából fizikai partíciókkal

"source": {
    "type": "SqlDWSource",
    "partitionOption": "PhysicalPartitionsOfTable"
}

Példa: lekérdezés dinamikus tartománypartícióval

"source": {
    "type": "SqlDWSource",
    "query": "SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>",
    "partitionOption": "DynamicRange",
    "partitionSettings": {
        "partitionColumnName": "<partition_column_name>",
        "partitionUpperBound": "<upper_value_of_partition_column (optional) to decide the partition stride, not as data filter>",
        "partitionLowerBound": "<lower_value_of_partition_column (optional) to decide the partition stride, not as data filter>"
    }
}

Minta lekérdezés a fizikai partíció ellenőrzéséhez

SELECT DISTINCT s.name AS SchemaName, t.name AS TableName, c.name AS ColumnName, CASE WHEN c.name IS NULL THEN 'no' ELSE 'yes' END AS HasPartition
FROM sys.tables AS t
LEFT JOIN sys.objects AS o ON t.object_id = o.object_id
LEFT JOIN sys.schemas AS s ON o.schema_id = s.schema_id
LEFT JOIN sys.indexes AS i ON t.object_id = i.object_id
LEFT JOIN sys.index_columns AS ic ON ic.partition_ordinal > 0 AND ic.index_id = i.index_id AND ic.object_id = t.object_id
LEFT JOIN sys.columns AS c ON c.object_id = ic.object_id AND c.column_id = ic.column_id
LEFT JOIN sys.types AS y ON c.system_type_id = y.system_type_id
WHERE s.name='[your schema]' AND t.name = '[your table name]'

Ha a tábla fizikai partícióval rendelkezik, a "HasPartition" kifejezés "igen" lesz.

Adatok betöltése az Azure Synapse Analyticsbe a COPY utasítás használatával

A COPY utasítás használatával egyszerűen és rugalmasan tölthet be adatokat az Azure Synapse Analyticsbe nagy átviteli sebességgel. További részletekért ellenőrizze az adatok tömeges betöltését a COPY utasítással

  • Ha a forrásadatok az Azure Blobban vagy az Azure Data Lake Storage Gen2-ben vannak, és a formátum COPY utasítással kompatibilis, a másolási tevékenység használatával közvetlenül meghívhatja a COPY utasítást, hogy az Azure Synapse Analytics lekérje az adatokat a forrásból. További részletekért lásd : Közvetlen másolás COPY utasítással.
  • Ha a forrásadattárat és a formátumot eredetileg nem támogatja a COPY utasítás, használja inkább a szakaszos másolást a COPY utasítás funkcióval. A szakaszos másolási funkció emellett jobb átviteli sebességet is biztosít. Automatikusan KONVERTÁLJA az adatokat COPY utasítással kompatibilis formátumba, tárolja az adatokat az Azure Blob Storage-ban, majd meghívja a COPY utasítást, hogy betöltse az adatokat az Azure Synapse Analyticsbe.

Tipp.

Ha COPY utasítást használ az Azure Integration Runtime használatával, a hatékony adatintegráció egységek (DIU) mindig 2. A DIU finomhangolása nem befolyásolja a teljesítményt, mivel a tárolóból való adatok betöltését az Azure Synapse motor hajtja.

Közvetlen másolás COPY utasítással

Az Azure Synapse Analytics COPY utasítás közvetlenül támogatja az Azure Blob, az Azure Data Lake Storage Gen1 és az Azure Data Lake Storage Gen2 szolgáltatást. Ha a forrásadatok megfelelnek az ebben a szakaszban leírt feltételeknek, a COPY utasítás használatával másolja közvetlenül a forrásadattárból az Azure Synapse Analyticsbe. Ellenkező esetben használja a szakaszos másolást a COPY utasítással. a szolgáltatás ellenőrzi a beállításokat, és sikertelen a másolási tevékenység futtatása, ha a feltételek nem teljesülnek.

  1. A forráshoz társított szolgáltatás és formátum a következő típusokkal és hitelesítési módszerekkel érhető el:

    Támogatott forrásadattár-típus Támogatott formátum Támogatott forráshitelesítés típusa
    Azure Blob Tagolt szöveg Fiókkulcs-hitelesítés, közös hozzáférésű jogosultságkód-hitelesítés, szolgáltatásnév-hitelesítés, rendszer által hozzárendelt felügyelt identitás hitelesítése
      Parketta Fiókkulcs-hitelesítés, közös hozzáférésű jogosultságkód-hitelesítés
      ORK Fiókkulcs-hitelesítés, közös hozzáférésű jogosultságkód-hitelesítés
    Azure Data Lake Storage Gen2 Tagolt szöveg
    Parketta
    ORK
    Fiókkulcs-hitelesítés, szolgáltatásnév-hitelesítés, rendszer által hozzárendelt felügyelt identitás hitelesítése

    Fontos

    • Ha felügyelt identitáshitelesítést használ a tárhoz társított szolgáltatáshoz, ismerje meg az Azure Blobhoz és az Azure Data Lake Storage Gen2-hez szükséges konfigurációkat.
    • Ha az Azure Storage virtuális hálózati szolgáltatásvégponttal van konfigurálva, a felügyelt identitáshitelesítést a tárfiókon engedélyezett "megbízható Microsoft-szolgáltatás engedélyezése" beállítással kell használnia, tekintse meg a VNet-szolgáltatásvégpontok Azure Storage-beli használatának hatását.
  2. A formátumbeállítások a következők:

    1. Parquet esetén: compression nem lehet tömörítés, Snappy vagy GZip.
    2. ORC esetén: compression nem lehet tömörítés, zlibvagy Snappy.
    3. Tagolt szöveg esetén:
      1. rowDelimiterexplicit módon egyetlen karakterként vagy "\r\n" értékként van beállítva, az alapértelmezett érték nem támogatott.
      2. nullValuealapértelmezettként marad, vagy üres sztringre ("").
      3. encodingName alapértelmezettként marad, vagy utf-8 vagy utf-16 értékre van állítva.
      4. escapeChar meg kell egyeznie a quoteChar, és nem üres.
      5. skipLineCount alapértelmezett értékként van megadva, vagy 0 értékre van állítva.
      6. compression nem lehet tömörítés vagy GZip.
  3. Ha a forrás egy mappa, recursive akkor a másolási tevékenységnek true (igaz) értékre kell állítania, és wildcardFilename meg kell vagy kell lennie **.*.

  4. wildcardFolderPath , wildcardFilename (nem *vagy *.*), modifiedDateTimeStart, modifiedDateTimeEnd, prefix, és enablePartitionDiscoveryadditionalColumns nincs megadva.

A másolási tevékenység az allowCopyCommand alábbi COPY utasításbeállításokat támogatja:

Tulajdonság Leírás Kötelező
defaultValues Az Azure Synapse Analytics minden céloszlopának alapértelmezett értékeit adja meg. A tulajdonság alapértelmezett értékei felülírják az adattárházban beállított ALAPÉRTELMEZETT kényszert, és az identitásoszlop nem rendelkezhet alapértelmezett értékkel. Nem
additionalOptions További lehetőségek, amelyeket közvetlenül az Azure Synapse Analytics COPY utasításnak a COPY utasítás "With" záradékában ad át. A COPY utasítás követelményeinek való megfeleléshez szükség szerint adja meg az értéket. Nem
"activities":[
    {
        "name": "CopyFromAzureBlobToSQLDataWarehouseViaCOPY",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "ParquetDataset",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "AzureSQLDWDataset",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "ParquetSource",
                "storeSettings":{
                    "type": "AzureBlobStorageReadSettings",
                    "recursive": true
                }
            },
            "sink": {
                "type": "SqlDWSink",
                "allowCopyCommand": true,
                "copyCommandSettings": {
                    "defaultValues": [
                        {
                            "columnName": "col_string",
                            "defaultValue": "DefaultStringValue"
                        }
                    ],
                    "additionalOptions": {
                        "MAXERRORS": "10000",
                        "DATEFORMAT": "'ymd'"
                    }
                }
            },
            "enableSkipIncompatibleRow": true
        }
    }
]

Szakaszos másolás COPY utasítással

Ha a forrásadatok natív módon nem kompatibilisek a COPY utasítással, engedélyezze az adatok másolását egy átmeneti Azure Blob vagy Azure Data Lake Storage Gen2 használatával (ez nem lehet Az Azure Premium Storage). Ebben az esetben a szolgáltatás automatikusan átalakítja az adatokat a COPY utasítás adatformátum-követelményeinek megfelelően. Ezután meghívja a COPY utasítást, hogy adatokat töltsön be az Azure Synapse Analyticsbe. Végül megtisztítja az ideiglenes adatokat a tárból. Az adatok átmeneti másolással történő másolásával kapcsolatos részletekért tekintse meg a szakaszos másolást .

A szolgáltatás használatához hozzon létre egy Azure Blob Storage társított szolgáltatást vagy az Azure Data Lake Storage Gen2 társított szolgáltatást fiókkulcs vagy rendszer által felügyelt identitáshitelesítéssel, amely az Azure Storage-fiókra hivatkozik köztes tárolóként.

Fontos

  • Ha felügyelt identitáshitelesítést használ az átmeneti társított szolgáltatáshoz, ismerje meg az Azure Blobhoz és az Azure Data Lake Storage Gen2-hez szükséges konfigurációkat. Emellett engedélyeket kell adnia az Azure Synapse Analytics-munkaterület felügyelt identitásához az átmeneti Azure Blob Storage-fiókban vagy az Azure Data Lake Storage Gen2-fiókban. Ennek az engedélynek a megadásáról további információt a munkaterület által felügyelt identitás engedélyeinek megadása című témakörben talál.
  • Ha az átmeneti Azure Storage virtuális hálózati szolgáltatásvégponttal van konfigurálva, akkor a felügyelt identitáshitelesítést a tárfiókon engedélyezett "megbízható Microsoft-szolgáltatás engedélyezése" beállítással kell használnia, tekintse meg a VNet-szolgáltatásvégpontok Azure Storage-beli használatának hatását.

Fontos

Ha az átmeneti Azure Storage felügyelt privát végponttal van konfigurálva, és engedélyezve van a tárolási tűzfal, felügyelt identitáshitelesítést kell használnia, és engedélyeznie kell a Storage Blob Data Reader-engedélyeket a Synapse SQL Server számára, hogy hozzáférhessen a szakaszos fájlokhoz a COPY utasítás betöltése során.

"activities":[
    {
        "name": "CopyFromSQLServerToSQLDataWarehouseViaCOPYstatement",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "SQLServerDataset",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "AzureSQLDWDataset",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "SqlSource",
            },
            "sink": {
                "type": "SqlDWSink",
                "allowCopyCommand": true
            },
            "stagingSettings": {
                "linkedServiceName": {
                    "referenceName": "MyStagingStorage",
                    "type": "LinkedServiceReference"
                }
            }
        }
    }
]

Adatok betöltése az Azure Synapse Analyticsbe a PolyBase használatával

A PolyBase használatával nagy mennyiségű adatot tölthet be az Azure Synapse Analyticsbe nagy átviteli sebességgel. Az alapértelmezett BULKIN Standard kiadás RT mechanizmus helyett a PolyBase használatával nagy teljesítménynövekedést fog látni.

  • Ha a forrásadatok az Azure Blobban, az Azure Data Lake Storage Gen1-ben vagy az Azure Data Lake Storage Gen2-ben vannak, és a formátum PolyBase-kompatibilis, másolási tevékenység használatával közvetlenül meghívhatja a PolyBase-t, hogy az Azure Synapse Analytics lekérje az adatokat a forrásból. További információ: Közvetlen másolás a PolyBase használatával.
  • Ha a forrásadattárat és a formátumot eredetileg nem támogatja a PolyBase, használja inkább a Szakaszos másolatot a PolyBase szolgáltatással. A szakaszos másolási funkció emellett jobb átviteli sebességet is biztosít. Automatikusan PolyBase-kompatibilis formátumba alakítja át az adatokat, az adatokat az Azure Blob Storage-ban tárolja, majd meghívja a PolyBase-t, hogy töltse be az adatokat az Azure Synapse Analyticsbe.

Tipp.

További információ a PolyBase használatának ajánlott eljárásairól. Ha a PolyBase-t Azure Integration Runtime-tal használja, a közvetlen vagy szakaszos tárolás synapse-ba történő közvetlen vagy szakaszos tárolására szolgáló hatékony adatintegráció egységek (DIU) mindig 2. A DIU finomhangolása nem befolyásolja a teljesítményt, mivel a tárolóból történő adatok betöltését a Synapse motor hajtja.

A másolási tevékenység az alábbi PolyBase-beállításokat polyBaseSettings támogatja:

Tulajdonság Leírás Kötelező
rejectValue Megadja a lekérdezés sikertelensége előtt elutasítható sorok számát vagy százalékos arányát.

További információ a PolyBase elvetési beállításairól a CREATE EXTERNAL TABLE (Transact-SQL) argumentumok szakaszában.

Az engedélyezett értékek: 0 (alapértelmezett), 1, 2 stb.
Nem
rejectType Megadja, hogy az rejectValue beállítás literálérték-e vagy százalék.

Az engedélyezett értékek az Érték (alapértelmezett) és a Százalék érték.
Nem
rejectSampleValue Meghatározza a lekérendő sorok számát, mielőtt a PolyBase újraszámítja az elutasított sorok százalékos arányát.

Az engedélyezett értékek 1, 2 stb.
Igen, ha a rejectType értéke százalék.
useTypeDefault Megadja, hogyan kezelhetők a hiányzó értékek a tagolt szövegfájlokban, amikor a PolyBase adatokat kér le a szövegfájlból.

Erről a tulajdonságról a CREATE EXTERNAL FILE FORMAT (Transact-SQL) Argumentumok szakaszában olvashat bővebben.

Az engedélyezett értékek a True (Igaz ) és a False (alapértelmezett) értékek.

Nem

Közvetlen másolás a PolyBase használatával

Az Azure Synapse Analytics PolyBase közvetlenül támogatja az Azure Blob, az Azure Data Lake Storage Gen1 és az Azure Data Lake Storage Gen2 szolgáltatást. Ha a forrásadatok megfelelnek az ebben a szakaszban leírt feltételeknek, a PolyBase használatával másolja közvetlenül a forrásadattárból az Azure Synapse Analyticsbe. Ellenkező esetben használja a szakaszos másolást a PolyBase használatával.

Tipp.

Az Azure Synapse Analyticsbe történő hatékony adatmásoláshoz az Azure Data Factory további információi még egyszerűbbé és kényelmesebbé teszik az adatokból származó megállapítások feltárásához a Data Lake Store és az Azure Synapse Analytics használatakor.

Ha a követelmények nem teljesülnek, a szolgáltatás ellenőrzi a beállításokat, és automatikusan visszaáll a BULKIN Standard kiadás RT mechanizmusra az adatáthelyezéshez.

  1. A forráshoz társított szolgáltatás a következő típusokkal és hitelesítési módszerekkel érhető el:

    Támogatott forrásadattár-típus Támogatott forráshitelesítés típusa
    Azure Blob Fiókkulcs-hitelesítés, rendszer által hozzárendelt felügyelt identitás hitelesítése
    1. generációs Azure Data Lake Storage Egyszerű szolgáltatás hitelesítése
    Azure Data Lake Storage Gen2 Fiókkulcs-hitelesítés, rendszer által hozzárendelt felügyelt identitás hitelesítése

    Fontos

    • Ha felügyelt identitáshitelesítést használ a tárhoz társított szolgáltatáshoz, ismerje meg az Azure Blobhoz és az Azure Data Lake Storage Gen2-hez szükséges konfigurációkat.
    • Ha az Azure Storage virtuális hálózati szolgáltatásvégponttal van konfigurálva, a felügyelt identitáshitelesítést a tárfiókon engedélyezett "megbízható Microsoft-szolgáltatás engedélyezése" beállítással kell használnia, tekintse meg a VNet-szolgáltatásvégpontok Azure Storage-beli használatának hatását.
  2. A forrásadat formátumaParquet, ORC vagy Delimited text, az alábbi konfigurációkkal:

    1. A mappa elérési útja nem tartalmaz helyettesítő karakterszűrőt.
    2. A fájlnév üres, vagy egyetlen fájlra mutat. Ha helyettesítő fájlnevet ad meg a másolási tevékenységben, az csak lehet * vagy *.*.
    3. rowDelimiteralapértelmezett, \n, \r\n vagy \r.
    4. nullValuealapértelmezett értékként van megadva, vagy üres sztring ("" értékre van állítva), és treatEmptyAsNull alapértelmezettként vagy igaz értékre van állítva.
    5. encodingNamealapértelmezettként marad, vagy utf-8 értékre van állítva.
    6. quoteChar, escapeCharés skipLineCount nincs megadva. A PolyBase támogatása kihagyja a fejlécsort, amely konfigurálható.firstRowAsHeader
    7. compression nem lehet tömörítés, GZipvagy deflátum.
  3. Ha a forrás egy mappa, recursive a másolási tevékenységnek igaz értékre kell állítania.

  4. wildcardFolderPath , wildcardFilename, modifiedDateTimeStart, modifiedDateTimeEnd, prefix, , enablePartitionDiscoveryés additionalColumns nincs megadva.

Feljegyzés

Ha a forrás egy mappa, vegye figyelembe, hogy a PolyBase lekéri a fájlokat a mappából és annak összes almappájából, és nem kér le adatokat olyan fájlokból, amelyeknek a fájlneve aláhúzással (_) vagy ponttal (.) kezdődik az itt dokumentált módon – LOCATION argumentum.

"activities":[
    {
        "name": "CopyFromAzureBlobToSQLDataWarehouseViaPolyBase",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "ParquetDataset",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "AzureSQLDWDataset",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "ParquetSource",
                "storeSettings":{
                    "type": "AzureBlobStorageReadSettings",
                    "recursive": true
                }
            },
            "sink": {
                "type": "SqlDWSink",
                "allowPolyBase": true
            }
        }
    }
]

Szakaszos másolás a PolyBase használatával

Ha a forrásadatok natív módon nem kompatibilisek a PolyBase-lel, engedélyezze az adatok másolását egy átmeneti Azure Blob vagy Az Azure Data Lake Storage Gen2 átmeneti verzióján keresztül (ez nem lehet Az Azure Premium Storage). Ebben az esetben a szolgáltatás automatikusan átalakítja az adatokat a PolyBase adatformátum-követelményeinek megfelelően. Ezután meghívja a PolyBase-t, hogy adatokat töltsön be az Azure Synapse Analyticsbe. Végül megtisztítja az ideiglenes adatokat a tárból. Az adatok átmeneti másolással történő másolásával kapcsolatos részletekért tekintse meg a szakaszos másolást .

A szolgáltatás használatához hozzon létre egy Azure Blob Storage társított szolgáltatást vagy az Azure Data Lake Storage Gen2 társított szolgáltatást fiókkulcs vagy felügyelt identitáshitelesítés használatával, amely köztes tárolóként hivatkozik az Azure Storage-fiókra.

Fontos

  • Ha felügyelt identitáshitelesítést használ az átmeneti társított szolgáltatáshoz, ismerje meg az Azure Blobhoz és az Azure Data Lake Storage Gen2-hez szükséges konfigurációkat. Emellett engedélyeket kell adnia az Azure Synapse Analytics-munkaterület felügyelt identitásához az átmeneti Azure Blob Storage-fiókban vagy az Azure Data Lake Storage Gen2-fiókban. Ennek az engedélynek a megadásáról további információt a munkaterület által felügyelt identitás engedélyeinek megadása című témakörben talál.
  • Ha az átmeneti Azure Storage virtuális hálózati szolgáltatásvégponttal van konfigurálva, akkor a felügyelt identitáshitelesítést a tárfiókon engedélyezett "megbízható Microsoft-szolgáltatás engedélyezése" beállítással kell használnia, tekintse meg a VNet-szolgáltatásvégpontok Azure Storage-beli használatának hatását.

Fontos

Ha az átmeneti Azure Storage felügyelt privát végponttal van konfigurálva, és engedélyezve van a tároló tűzfala, felügyelt identitáshitelesítést kell használnia, és engedélyeznie kell a Storage Blob Data Reader-engedélyeket a Synapse SQL Server számára, hogy hozzáférhessen a szakaszos fájlokhoz a PolyBase-betöltés során.

"activities":[
    {
        "name": "CopyFromSQLServerToSQLDataWarehouseViaPolyBase",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "SQLServerDataset",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "AzureSQLDWDataset",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "SqlSource",
            },
            "sink": {
                "type": "SqlDWSink",
                "allowPolyBase": true
            },
            "enableStaging": true,
            "stagingSettings": {
                "linkedServiceName": {
                    "referenceName": "MyStagingStorage",
                    "type": "LinkedServiceReference"
                }
            }
        }
    }
]

Ajánlott eljárások a PolyBase használatához

Az alábbi szakaszok az Azure Synapse Analytics ajánlott eljárásaiban említett eljárások mellett ajánlott eljárásokat is ismertetik.

Szükséges adatbázis-engedély

A PolyBase használatához az Azure Synapse Analyticsbe adatokat betöltő felhasználónak "CONTROL" engedéllyel kell rendelkeznie a céladatbázison. Ennek egyik módja, ha hozzáadja a felhasználót a db_owner szerepkör tagjaként. Erről az Azure Synapse Analytics áttekintésében olvashat.

Sorméret és adattípus korlátai

A PolyBase-terhelés 1 MB-nál kisebb sorokra korlátozódik. Nem használható VARCHR(MAX), NVARCHAR(MAX) vagy VARBINARY(MAX) betöltésére. További információ: Azure Synapse Analytics szolgáltatás kapacitáskorlátai.

Ha a forrásadatok sorai 1 MB-nál nagyobbak, érdemes lehet függőlegesen felosztani a forrástáblákat több kisebbre. Győződjön meg arról, hogy az egyes sorok legnagyobb mérete nem haladja meg a korlátot. A kisebb táblák ezután betölthetők a PolyBase használatával, és egyesíthetők az Azure Synapse Analyticsben.

Az ilyen széles oszlopokkal rendelkező adatok esetében a nem PolyBase használatával is betöltheti az adatokat a "PolyBase engedélyezése" beállítás kikapcsolásával.

Azure Synapse Analytics erőforrásosztály

A lehető legjobb átviteli sebesség elérése érdekében rendeljen hozzá egy nagyobb erőforrásosztályt a felhasználóhoz, amely adatokat tölt be az Azure Synapse Analyticsbe a PolyBase-en keresztül.

PolyBase hibaelhárítása

Betöltés decimális oszlopba

Ha a forrásadatok szöveges formátumban vagy más, nem PolyBase-kompatibilis tárolókban vannak (szakaszos másolat és PolyBase használatával), és üres értéket tartalmaznak, amelyet be kell tölteni az Azure Synapse Analytics Decimális oszlopába, a következő hibaüzenet jelenhet meg:

ErrorCode=FailedDbOperation, ......HadoopSqlException: Error converting data type VARCHAR to DECIMAL.....Detailed Message=Empty string can't be converted to DECIMAL.....

A megoldás az "Alapértelmezett típus használata" beállítás (hamis) jelölésének megszüntetése a másolási tevékenység fogadójában –> PolyBase-beállítások. Az "U Standard kiadás_TYPE_DEFAULT" egy natív PolyBase-konfiguráció, amely meghatározza, hogyan kezelhetők a hiányzó értékek a tagolt szövegfájlokban, amikor a PolyBase adatokat kér le a szövegfájlból.

A tableName tulajdonság ellenőrzése az Azure Synapse Analyticsben

Az alábbi táblázat példákat mutat be a tableName tulajdonság megadására a JSON-adathalmazban. A séma és a táblanevek számos kombinációját jeleníti meg.

DB-séma Tábla neve tableName JSON tulajdonság
dbo MyTable MyTable vagy dbo. MyTable vagy [dbo]. [MyTable]
dbo1 MyTable dbo1. MyTable vagy [dbo1]. [MyTable]
dbo My.Table [My.Table] vagy [dbo]. [My.Table]
dbo1 My.Table [dbo1]. [My.Table]

Ha a következő hibaüzenet jelenik meg, a probléma a tableName tulajdonsághoz megadott érték lehet. A tableName JSON tulajdonság értékeinek megadásának helyes módját az előző táblázatban találhatja meg.

Type=System.Data.SqlClient.SqlException,Message=Invalid object name 'stg.Account_test'.,Source=.Net SqlClient Data Provider

Alapértelmezett értékeket tartalmazó oszlopok

A PolyBase szolgáltatás jelenleg csak annyi oszlopot fogad el, mint a céltáblában. Ilyen például egy négy oszlopból álló tábla, amelyben az egyik alapértelmezett értékkel van definiálva. A bemeneti adatoknak továbbra is négy oszlopból kell állniuk. A háromoszlopos bemeneti adatkészlet az alábbi üzenethez hasonló hibát eredményez:

All columns of the table must be specified in the INSERT BULK statement.

A NULL érték az alapértelmezett érték speciális formája. Ha az oszlop null értékű, a blob bemeneti adatai üresek lehetnek. A bemeneti adatkészletből azonban nem hiányozhat. A PolyBase null értéket szúr be a hiányzó értékekhez az Azure Synapse Analyticsben.

A külső fájlhozzáférés nem sikerült

Ha a következő hibaüzenet jelenik meg, győződjön meg arról, hogy felügyelt identitáshitelesítést használ, és a Storage Blob Data Reader engedélyekkel rendelkezik az Azure Synapse-munkaterület felügyelt identitásához.

Job failed due to reason: at Sink '[SinkName]': shaded.msdataflow.com.microsoft.sqlserver.jdbc.SQLServerException: External file access failed due to internal error: 'Error occurred while accessing HDFS: Java exception raised on call to HdfsBridge_IsDirExist. Java exception message:\r\nHdfsBridge::isDirExist 

További információ: Engedélyek megadása felügyelt identitáshoz a munkaterület létrehozása után.

Adatfolyam-tulajdonságok leképezése

A leképezési adatfolyam adatainak átalakításakor az Azure Synapse Analyticsből olvashat és írhat táblákba. További információkért tekintse meg a forrásátalakítást és a fogadóátalakítást a leképezési adatfolyamokban.

Forrásátalakítás

az Azure Synapse Analyticsre jellemző Gépház a A forrásátalakítás Forrásbeállítások lapja.

Bemenet : Válassza ki, hogy a forrást egy táblára (egyenértékű) Select * from <table-name>mutatja-e, vagy egyéni SQL-lekérdezést ad meg.

Az előkészítés engedélyezése Erősen ajánlott ezt a lehetőséget éles számítási feladatokban használni az Azure Synapse Analytics-forrásokkal. Amikor adatfolyam-tevékenységet hajt végre azure Synapse Analytics-forrásokkal egy folyamatból, a rendszer kérni fogja egy átmeneti hely tárfiókját, és ezt fogja használni a szakaszos adatbetöltéshez. Ez a leggyorsabb mechanizmus az adatok Azure Synapse Analyticsből való betöltéséhez.

  • Ha felügyelt identitáshitelesítést használ a tárhoz társított szolgáltatáshoz, ismerje meg az Azure Blobhoz és az Azure Data Lake Storage Gen2-hez szükséges konfigurációkat.
  • Ha az Azure Storage virtuális hálózati szolgáltatásvégponttal van konfigurálva, a felügyelt identitáshitelesítést a tárfiókon engedélyezett "megbízható Microsoft-szolgáltatás engedélyezése" beállítással kell használnia, tekintse meg a VNet-szolgáltatásvégpontok Azure Storage-beli használatának hatását.
  • Ha az Azure Synapse kiszolgáló nélküli SQL-készletét használja forrásként, az előkészítés engedélyezése nem támogatott.

Lekérdezés: Ha a bemeneti mezőben a Lekérdezés lehetőséget választja, adjon meg egy SQL-lekérdezést a forráshoz. Ez a beállítás felülírja az adathalmazban kiválasztott táblákat. Az Order By záradékok itt nem támogatottak, de beállíthat egy teljes Standard kiadás LECT FROM utasítást. Felhasználó által definiált táblafüggvényeket is használhat. select * from udfGetData() egy olyan UDF az SQL-ben, amely egy táblát ad vissza. Ez a lekérdezés létrehoz egy forrástáblát, amelyet használhat az adatfolyamban. A lekérdezések használatával is csökkenthetők a tesztelési és keresési sorok.

SQL-példa: Select * from MyTable where customerId > 1000 and customerId < 2000

Kötegméret: Adjon meg egy kötegméretet, hogy nagy adatokat olvasson be. Az adatfolyamokban ezzel a beállítással állíthatja be a Spark oszlopos gyorsítótárazását. Ez egy beállításmező, amely akkor használja a Spark alapértelmezett értékét, ha üres marad.

Elkülönítési szint: A leképezési adatfolyamban az SQL-források alapértelmezett írásvédettként lesznek beolvasva. Az elkülönítési szintet itt az alábbi értékek egyikére módosíthatja:

  • Lekötött olvasás
  • Nem véglegesített olvasás
  • Ismételhető olvasás
  • Szerializálható
  • Nincs (az elkülönítési szint figyelmen kívül hagyása)

Elkülönítési szint

Fogadó átalakítása

az Azure Synapse Analyticsre vonatkozó Gépház a fogadóátalakítás Gépház lapján érhetők el.

Frissítési módszer: Meghatározza, hogy milyen műveletek engedélyezettek az adatbázis célhelyén. Az alapértelmezett beállítás csak a beszúrások engedélyezése. A sorok frissítéséhez, frissítéséhez vagy törléséhez váltakozósor-átalakításra van szükség az adott műveletek sorainak címkézéséhez. Frissítések, upserts és deletes esetén egy kulcsoszlopot vagy oszlopot kell beállítani annak meghatározásához, hogy melyik sort kell módosítani.

Táblaművelet: Meghatározza, hogy az írás előtt újra létre kell-e hozni vagy eltávolítani az összes sort a céltáblából.

  • Nincs: A rendszer nem hajt végre műveletet a táblán.
  • Újra: A tábla elvetve és újra létrehozva lesz. Új tábla dinamikus létrehozása esetén kötelező.
  • Csonkolási: A céltábla összes sora el lesz távolítva.

Előkészítés engedélyezése: Ez lehetővé teszi az Azure Synapse Analytics SQL-készletekbe való betöltést a másolási paranccsal, és a legtöbb Synapse-fogadó számára ajánlott. Az átmeneti tároló az Execute Adatfolyam tevékenységben van konfigurálva.

  • Ha felügyelt identitáshitelesítést használ a tárhoz társított szolgáltatáshoz, ismerje meg az Azure Blobhoz és az Azure Data Lake Storage Gen2-hez szükséges konfigurációkat.
  • Ha az Azure Storage virtuális hálózati szolgáltatásvégponttal van konfigurálva, a felügyelt identitáshitelesítést a tárfiókon engedélyezett "megbízható Microsoft-szolgáltatás engedélyezése" beállítással kell használnia, tekintse meg a VNet-szolgáltatásvégpontok Azure Storage-beli használatának hatását.

Kötegméret: Azt szabályozza, hogy hány sor legyen megírva az egyes gyűjtőkben. A nagyobb kötegméretek javítják a tömörítést és a memóriaoptimalizálást, de az adatok gyorsítótárazásakor a memóriakivételek kiesnek.

Fogadóséma használata: Alapértelmezés szerint átmeneti tábla jön létre a fogadóséma alatt előkészítésként. Másik lehetőségként törölje a jelet a Fogadó séma használata lehetőségből, és ehelyett a Felhasználói ADATBÁZIS-séma kiválasztása területen adjon meg egy sémanevet, amely alatt a Data Factory létrehoz egy előkészítési táblát a felsőbb rétegbeli adatok betöltéséhez, és a befejezés után automatikusan törli őket. Győződjön meg arról, hogy táblaengedélyt hoz létre az adatbázisban, és módosítja a sémára vonatkozó engedélyt.

Képernyőkép a

SQL-szkriptek elő- és postálása: Adja meg azokat a többsoros SQL-szkripteket, amelyek az adatok feldolgozása előtt (előzetes feldolgozás) és (utófeldolgozás) után lesznek végrehajtva a Fogadó adatbázisba

Képernyőkép az SQL-feldolgozás előtti és utáni szkriptekről az Azure Synapse Analytics adatfolyamában.

Tipp.

  1. Ajánlott több parancsot tartalmazó kötegszkripteket több kötegre bontani.
  2. A köteg részeként csak a data definition language (DDL) és az adatmanipulációs nyelv (DML) utasítások futtathatók, amelyek egyszerű frissítésszámot adnak vissza. További információ a kötegműveletek végrehajtásáról

Hibát tartalmazó sorok kezelése

Az Azure Synapse Analyticsbe való íráskor bizonyos adatsorok meghiúsulhatnak a cél által beállított korlátozások miatt. Néhány gyakori hiba:

  • A sztring- vagy bináris adatok csonkulnak a táblában
  • A NULL értéket nem lehet beszúrni az oszlopba
  • Az átalakítás nem sikerült az érték adattípussá alakításakor

Alapértelmezés szerint az adatfolyam-futtatás az első hibánál meghiúsul. Választhatja a Folytatás hibaüzenetet , amely lehetővé teszi az adatfolyam befejezését még akkor is, ha az egyes sorok hibásak. A szolgáltatás különböző lehetőségeket kínál a hibasorok kezelésére.

Tranzakció véglegesítése: Adja meg, hogy az adatok egyetlen tranzakcióban vagy kötegekben lesznek-e megírva. Az egyetlen tranzakció jobb teljesítményt nyújt, és a tranzakció befejezéséig nem láthatók mások számára az írott adatok. A Batch-tranzakciók teljesítménye rosszabb, de nagy adathalmazok esetén is működik.

Elutasított adatok kimenete: Ha engedélyezve van, a hibasorokat egy csv-fájlba is kiadhatja az Azure Blob Storage-ban vagy egy ön által választott Azure Data Lake Storage Gen2-fiókban. Ez megírja a hibasorokat három további oszlopmal: az SQL-művelettel( például IN Standard kiadás RT vagy UPDATE), az adatfolyam hibakódjával és a sor hibaüzenetével.

Hibajelentés sikerességéről: Ha engedélyezve van, az adatfolyam akkor is sikeresként lesz megjelölve, ha hibasorok találhatók.

Diagram, amely az adatfolyam-fogadó transzformációjának leképezése során előforduló hibasorkezelést mutatja be.

Keresési tevékenység tulajdonságai

A tulajdonságok részleteinek megismeréséhez tekintse meg a keresési tevékenységet.

GetMetadata tevékenység tulajdonságai

A tulajdonságok részleteinek megismeréséhez ellenőrizze a GetMetadata-tevékenységet

Adattípus-leképezés az Azure Synapse Analyticshez

Amikor adatokat másol az Azure Synapse Analyticsből vagy az Azure Synapse Analyticsbe, a rendszer az alábbi leképezéseket használja az Azure Synapse Analytics adattípusaiból az Azure Data Factory köztes adattípusaiba. Ezeket a leképezéseket az Azure Synapse Analyticsből vagy az Azure Synapse Analyticsbe a Synapse-folyamatokkal történő másoláskor is használják, mivel a folyamatok az Azure Data Factoryt is implementálják az Azure Synapse-ban. A séma- és adattípus-leképezések segítségével megtudhatja, hogyan képezi le a másolási tevékenység a forrássémát és az adattípust a fogadóhoz.

Az Azure Synapse Analytics adattípusa A Data Factory köztes adattípusa
bigint Int64
Bináris Bájt[]
Kicsit Logikai
Char Sztring, Karakter[]
dátum: Dátum/idő
Datetime Dátum/idő
datetime2 Dátum/idő
Datetimeoffset DateTimeOffset
Decimális Decimális
FILESTREAM attribútum (varbinary(max)) Bájt[]
Lebegőpontos értékek Dupla
rendszerkép Bájt[]
egész Int32
Pénzt Decimális
nchar Sztring, Karakter[]
Numerikus Decimális
nvarchar Sztring, Karakter[]
valós szám Egyszeres
rowversion Bájt[]
smalldatetime Dátum/idő
smallint Int16
smallmoney Decimális
time időtartam
tinyint Bájt
uniqueidentifier GUID
varbinary Bájt[]
varchar Sztring, Karakter[]

A másolási tevékenység által forrásként és fogadóként támogatott adattárak listájáért tekintse meg a támogatott adattárakat és formátumokat.