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.
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.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.
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).
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 .
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.
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
,smalldatetime
date
, ,datetime
, , ,datetime2
)datetimeoffset
tí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.
- Partícióoszlop neve: Adja meg a forrásoszlop nevét egész számban, vagy dátum/dátum/idő típusú (
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.
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.
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.
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.
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.
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.
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.
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 |
Kapcsolódó tartalom
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: