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


Az Azure SQL Database konfigurálása másolási tevékenységben

Ez a cikk azt ismerteti, hogyan használhatja a másolási tevékenységet az adatfolyamban adatok másolására az Azure SQL Database-ből és az Azure SQL Database-be.

Támogatott konfiguráció

A másolási tevékenység alatt lévő lapok konfigurációjához tekintse meg a következő szakaszokat.

Általános

Az Általános beállítások lap konfigurálásához tekintse meg az Általános beállításokat ismertető útmutatót.

Forrás

Az Azure SQL Database a másolási tevékenység Forrás lapján az alábbi tulajdonságokat támogatja.

Képernyőkép a forráslapról és a tulajdonságok listájáról.

A következő tulajdonságok szükségesek:

  • Adattár típusa: Válassza a Külső lehetőséget.
  • Csatlakozás ion: Válasszon ki egy Azure SQL Database-kapcsolatot a kapcsolatlistából. Ha a kapcsolat nem létezik, hozzon létre egy új Azure SQL Database-kapcsolatot az Új lehetőség kiválasztásával.
  • Csatlakozás ion típusa: Válassza ki az Azure SQL Database-t.
  • Táblázat: Válassza ki az adatbázisban lévő táblát a legördülő listából. Vagy jelölje be a Szerkesztés jelölőnégyzetet a táblanév manuális megadásához.
  • Adatok előnézete: Az Adatok előnézete lehetőséget választva megtekintheti a táblázat adatainak előnézetét.

A Speciális területen a következő mezőket adhatja meg:

  • Lekérdezés használata: Választhat táblázatos, lekérdezési vagy tárolt eljárást. Az alábbi lista az egyes beállítások konfigurációját ismerteti:

    • Táblázat: Ha ezt a gombot választja, olvassa el az adatokat a Táblában megadott táblázatból.

    • Lekérdezés: Adja meg az adatokat beolvasni kívánt egyéni SQL-lekérdezést. Például: select * from MyTable. Vagy válassza a szerkesztéshez a ceruza ikont a kódszerkesztőben.

      Képernyőkép a lekérdezés kiválasztásáról.

    • Tárolt eljárás: Használja azt a tárolt eljárást, 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.

      • Tárolt eljárás neve: Válassza ki a tárolt eljárást, vagy adja meg manuálisan a tárolt eljárás nevét, amikor a Szerkesztés jelölőnégyzet bejelölésével beolvassa az adatokat a forrástáblából.

      • Tárolt eljárásparaméterek: Adja meg a tárolt eljárásparaméterek értékeit. 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.

        Képernyőkép a tárolt eljárásbeállításokról.

  • Lekérdezési időtúllépés (perc):: Adja meg a lekérdezési parancs végrehajtásának időtúllépését, az alapértelmezett érték 120 perc. Ha egy paraméter be van állítva ehhez a tulajdonsághoz, az engedélyezett értékek időbélyegek, például "02:00:00" (120 perc).

    Képernyőkép a lekérdezés időtúllépési beállításairól.

  • Elkülönítési szint: Az SQL-forrás tranzakciózárolási viselkedését határozza meg. Az engedélyezett értékek a következők: Nincs, ReadCommitted, ReadUncommitted, RepeatableRead, Serializable vagy Snapshot. Ha nincs megadva, akkor nincs elkülönítési szint. További részletekért tekintse meg az IsolationLevel Enum című témakört .

    Képernyőkép az elkülönítési szint beállításairól.

  • Partíciós beállítás: Adja meg az adatok Azure SQL Database-ből való 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), tábla fizikai partíciói és dinamikus tartomány. Ha egy partíciós beállítás engedélyezve van (vagyis nem Nincs), a párhuzamosság mértékét, hogy egyidejűleg betöltse az adatokat egy Azure SQL Database-ből, a másolási tevékenység párhuzamos másolási beállításai vezérlik.

    Képernyőkép a Partíció beállítási beállításairól.

    • Nincs: Válassza ezt a beállítást, ha nem használ partíciót.

    • Tábla fizikai partíciói: Ha fizikai partíciót használ, a rendszer automatikusan meghatározza a partícióoszlopot és a mechanizmust a fizikai tábla definíciója alapján.

    • Dinamikus tartomány: Ha párhuzamosan engedélyezett lekérdezést használ, a tartománypartíciós paraméterre(?DfDynamicRangePartitionCondition) van szükség. Minta lekérdezés: SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition.

      • Partícióoszlop neve: Adja meg a forrásoszlop nevét egész számban, vagy dátum/dátum/idő típusú (int, , smallint, bigint, smalldatetimedate, , datetime, , , datetime2) datetimeoffsettípusban, amelyet 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.
      • Partíció felső határa: Adja meg a partícióoszlop maximális értékét a partíciótartományok felosztásához. 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 a lekérdezés eredményének összes sora particionálásra és másolásra kerül.
      • Partíció alsó határa: Adja meg a partícióoszlop minimális értékét a partíciótartomány felosztásához. 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 a lekérdezés eredményének összes sora particionálásra és másolásra kerül.
  • További oszlopok: További adatoszlopok hozzáadása a forrásfájlok relatív elérési útjának vagy statikus értékének tárolásához. A kifejezés az utóbbi esetében támogatott. További információ: További oszlopok hozzáadása másolás közben.

Cél

Az Azure SQL Database a másolási tevékenység Cél lapján az alábbi tulajdonságokat támogatja.

Képernyőkép a Cél lapról.

A következő tulajdonságok szükségesek:

  • Adattár típusa: Válassza a Külső lehetőséget.
  • Csatlakozás ion: Válasszon ki egy Azure SQL Database-kapcsolatot a kapcsolatlistából. Ha a kapcsolat nem létezik, hozzon létre egy új Azure SQL Database-kapcsolatot az Új lehetőség kiválasztásával.
  • Csatlakozás ion típusa: Válassza ki az Azure SQL Database-t.
  • Táblázat: Válassza ki az adatbázisban lévő táblát a legördülő listából. Vagy jelölje be a Szerkesztés jelölőnégyzetet a táblanév manuális megadásához.
  • Adatok előnézete: Az Adatok előnézete lehetőséget választva megtekintheti a táblázat adatainak előnézetét.

A Speciális területen a következő mezőket adhatja meg:

  • Írási viselkedés: Meghatározza az írási viselkedést, ha a forrás fájlalapú adattárból származó fájl. Választhatja a Beszúrás, az Upsert vagy a Tárolt eljárást.

    Képernyőkép az írási viselkedés lapról.

    • Beszúrás: Válassza ezt a lehetőséget, ha a forrásadatok beszúrásokat is használnak.

    • Upsert: Akkor válassza ezt a lehetőséget, ha a forrásadatok beszúrásokkal és frissítésekkel is rendelkezik.

      • TempDB használata: Megadhatja, hogy globális ideiglenes vagy fizikai táblát használjon-e köztes táblaként az upserthez. Alapértelmezés szerint a szolgáltatás globális ideiglenes táblát használ köztes táblaként, és ez a jelölőnégyzet be van jelölve.

        Képernyőkép a TempDB használata lehetőségről.

      • Felhasználói ADATBÁZIS-séma kiválasztása: Ha nincs bejelölve a TempDB használata jelölőnégyzet, adja meg a köztes sémát egy köztes tábla létrehozásához, ha fizikai táblát használ.

        Feljegyzés

        A táblák létrehozásához és törléséhez engedéllyel kell rendelkeznie. Alapértelmezés szerint egy köztes tábla ugyanazt a sémát használja, mint egy céltábla.

        Képernyőkép a TempDB használata lehetőségről.

      • Kulcsoszlopok: 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.

    • Tárolt eljárás: A forrásadatok céltáblába való alkalmazásának módját meghatározó tárolt eljárás használata. Ezt a tárolt eljárást kötegenként hívja meg a rendszer.

      • Tárolt eljárás neve: Válassza ki a tárolt eljárást, vagy adja meg manuálisan a tárolt eljárás nevét, amikor a Szerkesztés jelölőnégyzet bejelölésével beolvassa az adatokat a forrástáblából.

      • Tárolt eljárásparaméterek: Adja meg a tárolt eljárásparaméterek értékeit. 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.

        Képernyőkép a tárolt eljárásbeállításokról.

  • Táblázatzárolás tömeges beszúrása: Válassza az Igen vagy a Nem lehetőséget. Ezzel a beállítással javíthatja a másolási teljesítményt egy több ügyféltől származó index nélküli táblán végzett tömeges beszúrási művelet során. További információ: BULK IN Standard kiadás RT (Transact-SQL)

  • Táblabeállítás: Meghatározza, hogy automatikusan létre kívánja-e hozni a céltáblát , ha a tábla nem létezik a forrásséma alapján. Válassza a Nincs vagy az Automatikus létrehozás tábla lehetőséget. Az automatikus táblalétrehozás nem támogatott, ha a cél egy tárolt eljárást határoz meg.

  • Előzetes másolási szkript: Adjon meg egy szkriptet a másolási tevékenység végrehajtásához, mielőtt adatokat írna egy céltáblába minden futtatás során. Ezzel a tulajdonságkal törölheti az előre betöltött adatokat.

  • Köteg időtúllépésének írása: Adja meg a köteg beszúrási művelet befejezésének várakozási idejét, mielőtt túllépi az időkorlátot. Az engedélyezett érték az időbélyeg. Az alapértelmezett érték a "00:30:00" (30 perc).

  • Kötegméret írása: Adja meg az SQL-táblába kötegenként beszúrni kívánt sorok számát. 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.

  • Egyidejű kapcsolatok maximális száma: Adja meg az adattárban a tevékenységfuttatás során létrehozott egyidejű kapcsolatok felső korlátját. Csak akkor adjon meg értéket, ha korlátozni szeretné az egyidejű kapcsolatokat.

  • Teljesítménymetrika-elemzés letiltása: Ez a beállítás olyan metrikák gyűjtésére szolgál, mint például a DTU, a DWU, a RU stb. a másolási teljesítmény optimalizálásához és a javaslatokhoz. Ha érdekli ez a viselkedés, jelölje be ezt a jelölőnégyzetet.

Hozzárendelés

A Leképezés lap konfigurációjához, ha nem alkalmazza az Azure SQL Database-t automatikus létrehozási táblával célként, lépjen a Leképezés gombra.

Ha az Azure SQL Database-t automatikus létrehozási táblával alkalmazza célként, a leképezési konfiguráció kivételével szerkesztheti a céloszlopok típusát. Az Importálási sémák kiválasztása után megadhatja az oszloptípust a célhelyen.

Például a forrás azonosító oszlopának típusa int, és a céloszlopra való leképezéskor módosíthatja lebegőpontos típusra.

Képernyőkép a céloszlop típusának leképezéséről.

Beállítások

A Gépház lap konfigurációjához válassza a Beállítások lap egyéb beállításainak konfigurálását.

Párhuzamos másolás az Azure SQL Database-ből

Az Azure SQL Database-ö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.

Ha engedélyezi a particionált másolást, a másolási tevékenység párhuzamos lekérdezéseket futtat az Azure SQL Database-forráson az adatok partíciók szerinti betöltéséhez. A párhuzamos fokot a másolási tevékenység beállításai lap másolási párhuzamossági foka szabályozza. Ha például a másolási párhuzamosságot négyre állítja, 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 SQL Database-bő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 SQL Database-bő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égek automatikusan észlelik 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:
• A teljes tábla lekérdezése:
SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition
• 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>
• Lekérdezés al lekérdezésekkel:
SELECT <column_list> FROM (<your_sub_query>) AS T WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>
• Lekérdezés a partícióval az al leké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:

  • 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.
  • Ha a tábla beépített partícióval rendelkezik, használja a tábla fizikai partícióit a jobb teljesítmény érdekében.

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

SELECT DISTINCT s.name AS SchemaName, t.name AS TableName, pf.name AS PartitionFunctionName, c.name AS ColumnName, iif(pf.name is null, 'no', 'yes') 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.partition_schemes ps ON i.data_space_id = ps.data_space_id 
LEFT JOIN sys.partition_functions pf ON pf.function_id = ps.function_id 
WHERE s.name='[your schema]' AND t.name = '[your table name]'

Ha a tábla fizikai partícióval rendelkezik, a "HasPartition" az alábbihoz hasonlóan "igen" értékként jelenik meg.

Sql-lekérdezés eredménye.

Táblázat összefoglalása

Az alábbi táblázatok további információkat tartalmaznak az Azure SQL Database másolási tevékenységéről.

Forrás

Név Leírás Érték Szükséges JSON-szkripttulajdonság
Adattár típusa Az adattár típusa. Külső Igen /
Kapcsolat A forrásadattárhoz való kapcsolódás. <a kapcsolat> Igen kapcsolat
Kapcsolat típusa A kapcsolat típusa. Válassza az Azure SQL Database lehetőséget. Azure SQL Database Igen /
Tábla A forrásadattábla. <a céltábla neve> Igen Séma
table
Lekérdezés használata Az adatok olvasására szolgáló egyéni SQL-lekérdezés. •Nincs
•Lekérdezés
• Tárolt eljárás
Nem

• sqlReaderQuery
• sqlReaderStoredProcedureName, storedProcedureParameters
Lekérdezés időtúllépése A lekérdezési parancs végrehajtásának időtúllépése alapértelmezés szerint 120 perc. időtartomány Nem queryTimeout
Elkülönítési szint Az SQL-forrás tranzakciózárolási viselkedését adja meg. •Nincs
• ReadCommitted
• ReadUncommitted
• RepeatableRead
•Szerializálható
•Pillanatkép
Nem isolationLevel
Partíciós beállítás Az adatok Azure SQL Database-ből való betöltéséhez használt adatparticionálási lehetőségek. •Nincs
• A tábla fizikai partíciói
• Dinamikus tartomány
Nem partitionOption:
• PhysicalPartitionsOfTable
• DynamicRange
További oszlopok Adjon hozzá további adatoszlopokat a forrásfájlok relatív elérési útjának vagy statikus értékének tárolásához. A kifejezés az utóbbi esetében támogatott. •Név
•Érték
Nem továbbicolumnok:
•név
•Érték

Cél

Név Leírás Érték Szükséges JSON-szkripttulajdonság
Adattár típusa Az adattár típusa. Külső Igen /
Kapcsolat A céladattárhoz való kapcsolódás. <a kapcsolat > Igen kapcsolat
Kapcsolat típusa A kapcsolat típusa. Válassza az Azure SQL Database lehetőséget. Azure SQL Database Igen /
Tábla A céladattábla. <a céltábla neve> Igen Séma
table
Írási viselkedés Meghatározza az írási viselkedést, ha a forrás fájlalapú adattárból származó fájlok. •Beszúrása
• Upsert
• Tárolt eljárás
Nem writeBehavior:
•Beszúrása
• upsert
• sqlWriterStoredProcedureName, sqlWriterTableType, storedProcedureParameters
Táblázatzárolás tömeges beszúrása Ezzel a beállítással javíthatja a másolási teljesítményt egy több ügyféltől származó index nélküli táblán végzett tömeges beszúrási művelet során. Igen vagy nem Nem sqlWriterUseTableLock:
igaz vagy hamis
Táblázat lehetőség Megadja, hogy automatikusan létre kívánja-e hozni a céltáblát, ha nem létezik a forrásséma alapján. •Nincs
• Táblázat automatikus létrehozása
Nem tableOption:
• autoCreate
Szkript előzetes másolása Szkript a másolási tevékenység végrehajtásához, mielőtt adatokat írna egy céltáblába minden futtatás során. Ezzel a tulajdonságkal törölheti az előre betöltött adatokat. <szkript előzetes másolása>
(sztring)
Nem preCopyScript
Köteg időtúllépésének írása A köteg beszúrási műveletének várakozási ideje, mielőtt túllépi az időkorlátot. Az engedélyezett érték az időbélyeg. Az alapértelmezett érték a "00:30:00" (30 perc). időtartomány Nem writeBatchTimeout
Kötegméret írása Az SQL-táblába kötegenként beszúrandó 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. <sorok száma>
(egész szám)
Nem writeBatchSize
Egyidejű kapcsolatok maximális kihasználása 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. <az egyidejű kapcsolatok felső korlátja>
(egész szám)
Nem maxConcurrent Csatlakozás ions
Teljesítménymetrikák elemzésének letiltása Ez a beállítás olyan metrikák gyűjtésére szolgál, mint a DTU, a DWU, a RU stb. a másolási teljesítmény optimalizálásához és a javaslatokhoz. Ha érdekli ez a viselkedés, jelölje be ezt a jelölőnégyzetet. kijelölés vagy a kijelölés megszüntetése Nem disableMetricsCollection:
igaz vagy hamis