Zdieľať cez


Konfigurácia databázy Azure SQL v kopírovanej aktivite

Tento článok popisuje, ako používať aktivitu kopírovania v kanáli údajov na kopírovanie údajov z a do databázy Azure SQL.

Podporovaná konfigurácia

Ak chcete nastaviť každú kartu v časti Aktivita kopírovania, prejdite do nasledujúcich sekcií.

Všeobecné

Ak chcete nakonfigurovať kartu Všeobecné nastavenia, prečítajte si tému Všeobecné pokyny na nastavenie.

Source

Pre databázu Azure SQL na karte Zdroj kopírovanej aktivity sú podporované nasledujúce vlastnosti.

Snímka obrazovky znázorňujúca kartu zdroja a zoznam vlastností.

Vyžadujú sa nasledujúce vlastnosti:

  • Typ ukladacieho priestoru údajov: Vyberte položku Externé.
  • Pripojenie ion: Zo zoznamu pripojení vyberte pripojenie k databáze Azure SQL. Ak pripojenie neexistuje, vytvorte nové pripojenie k databáze Azure SQL výberom položky Nové.
  • Pripojenie typ iónov: vyberte možnosť Databáza Azure SQL.
  • Tabuľka: Z rozbaľovacieho zoznamu vyberte tabuľku v databáze. Alebo skontrolujte položku Upraviť a zadajte názov tabuľky manuálne.
  • Ukážka údajov: Výberom položky Ukážka údajov zobrazte ukážku údajov v tabuľke.

V časti Rozšírené môžete zadať nasledujúce polia:

  • Použiť dotaz: môžete vybrať tabuľku, dotaz alebo uloženú procedúru. Nasledujúci zoznam popisuje konfiguráciu každého nastavenia:

    • Table: Ak vyberiete toto tlačidlo, prečítajte údaje z tabuľky, ktorú ste zadali v tabuľke Table .

    • Dotaz: zadajte vlastný dotaz SQL na čítanie údajov. Príkladom je adresa select * from MyTable. Môžete tiež vybrať ikonu ceruzky a upraviť ju v editore kódu.

      Snímka obrazovky zobrazujúca výber dotazu.

    • Uložená procedúra: použite uloženú procedúru, ktorá číta údaje zo zdrojovej tabuľky. Posledným príkazom SQL musí byť príkaz SELECT v uloženej procedúre.

      • Uložený názov procedúry: Vyberte uloženú procedúru alebo manuálne zadajte názov uloženej procedúry pri kontrole poľa Úprava na čítanie údajov zo zdrojovej tabuľky.

      • Uložené parametre procedúry: Zadajte hodnoty pre parametre uloženej procedúry. Povolené hodnoty sú páry názvov alebo hodnôt. Názvy a puzdro parametrov sa musia zhodovať s názvami a puzdrom parametrov uloženej procedúry.

        Snímka obrazovky zobrazujúca nastavenia uloženej procedúry.

  • Časový limit dotazu (minúty): Zadajte časový limit pre vykonanie príkazu dotazu, predvolená hodnota je 120 minút. Ak je parameter nastavený pre túto vlastnosť, povolené hodnoty sú časové rozpätie, napríklad 02:00:00 (120 minút).

    Snímka obrazovky zobrazujúca nastavenia časového limitu dotazu.

  • Úroveň izolácie: Určuje správanie uzamknutia transakcií pre zdroj SQL. Povolené hodnoty sú: None, ReadCommitted, ReadUncommitted, RepeatableRead, Serializable alebo Snapshot. Ak parameter nie je zadaný, použije sa žiadna úroveň izolácie. Ďalšie podrobnosti nájdete v článku IsolationLevel Enum .

    Snímka obrazovky znázorňujúca nastavenia úrovne izolácie.

  • Možnosť oblasti: zadajte možnosti rozdelenia údajov používané na načítanie údajov z databázy Azure SQL. Povolené hodnoty sú: Žiadne (predvolené), Fyzické oblasti tabuľky a Dynamický rozsah. Keď je povolená možnosť oblasti (to znamená nie žiadne), úroveň paralelného načítavania údajov z databázy Azure SQL je riadená nastavením paralelného kopírovania v aktivite kopírovania.

    Snímka obrazovky zobrazujúca nastavenia možnosti Oblasti.

    • Žiadne: Vyberte toto nastavenie, ak chcete nepoužiť oblasť.

    • Fyzické oblasti tabuľky: Keď použijete fyzickú oblasť, stĺpec a mechanizmus oblasti sa automaticky určia na základe definície fyzickej tabuľky.

    • Dynamický rozsah: Keď použijete dotaz so zapnutou paralelnou možnosťou, parameter oblasti rozsahu(?DfDynamicRangePartitionCondition) je potrebný. Vzorový dotaz: SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition.

      • Názov stĺpca oblasti: Zadajte názov zdrojového stĺpca na celé číslo alebo typ dátumu/dátumu a času (int, , smallint, datebigint, smalldatetime, datetimedatetime2, alebo datetimeoffset), ktorý sa používa podľa rozdelenia rozsahu na paralelné kopírovanie. Ak nie je zadaný, index alebo primárny kľúč tabuľky sa automaticky zistí a použije ako stĺpec oblasti.
      • Horná hranica oblasti: Zadajte maximálnu hodnotu stĺpca oblasti na rozdelenie rozsahu oblastí. Táto hodnota sa používa na rozhodnutie o kroku rozdelenia, nie na filtrovanie riadkov v tabuľke. Všetky riadky v tabuľke alebo výsledku dotazu sa rozdelia a skopírujú.
      • Dolná hranica oblasti: Zadajte minimálnu hodnotu stĺpca oblasti na rozdelenie rozsahu oblastí. Táto hodnota sa používa na rozhodnutie o kroku rozdelenia, nie na filtrovanie riadkov v tabuľke. Všetky riadky v tabuľke alebo výsledku dotazu sa rozdelia a skopírujú.
  • Ďalšie stĺpce: Pridajte ďalšie stĺpce údajov na ukladanie relatívnej cesty alebo statickej hodnoty zdrojových súborov. Pre druhý sa podporuje výraz. Ďalšie informácie nájdete v časti Pridanie ďalších stĺpcov počas kopírovania.

Cieľ

Pre databázu Azure SQL na karte Cieľ kopírovanej aktivity sú podporované nasledujúce vlastnosti.

Snímka obrazovky zobrazujúca kartu Cieľ.

Vyžadujú sa nasledujúce vlastnosti:

  • Typ ukladacieho priestoru údajov: Vyberte položku Externé.
  • Pripojenie ion: Zo zoznamu pripojení vyberte pripojenie k databáze Azure SQL. Ak pripojenie neexistuje, vytvorte nové pripojenie k databáze Azure SQL výberom položky Nové.
  • Pripojenie typ iónov: vyberte možnosť Databáza Azure SQL.
  • Tabuľka: Z rozbaľovacieho zoznamu vyberte tabuľku v databáze. Alebo skontrolujte položku Upraviť a zadajte názov tabuľky manuálne.
  • Ukážka údajov: Výberom položky Ukážka údajov zobrazte ukážku údajov v tabuľke.

V časti Rozšírené môžete zadať nasledujúce polia:

  • Správanie pri písaní: Definuje správanie pri zapisovaní, keď je zdrojom súbory z úložiska údajov na základe súboru. Môžete vybrať možnosť Vložiť, Upsert alebo Uložená procedúra.

    Snímka obrazovky s kartou Správanie pri písaní.

    • Vložiť: Túto možnosť vyberte, ak sú v zdrojových údajoch vložené.

    • Upsert: Túto možnosť vyberte, ak zdrojové údaje obsahujú vklady aj aktualizácie.

      • Použiť TempDB: Zadajte, či sa má ako dočasná tabuľka pre upsert použiť globálna dočasná tabuľka alebo fyzická tabuľka. Služba predvolene používa ako dočasnú globálnu tabuľku dočasnú tabuľku a je toto políčko začiarknuté.

        Snímka obrazovky zobrazujúca výber položky Použiť TempDB.

      • Vyberte schému databázy používateľa: Keď nie je začiarknuté políčko Použiť tempdb , zadajte dočasnú schému na vytvorenie dočasnej tabuľky, ak sa používa fyzická tabuľka.

        Poznámka

        Musíte mať povolenie na vytváranie a odstraňovanie tabuliek. Predvolene bude dočasná tabuľka zdieľať rovnakú schému ako cieľová tabuľka.

        Snímka obrazovky zobrazujúca výber položky Použiť TempDB.

      • Kľúčové stĺpce: zadajte názvy stĺpcov na identifikáciu jedinečných riadkov. Môžete použiť buď jeden kľúč, alebo rad kľúčov. Ak parameter nie je zadaný, použije sa primárny kľúč.

    • Uložená procedúra: Použite uloženú procedúru, ktorá definuje použitie zdrojových údajov do cieľovej tabuľky. Táto uložená procedúra sa vyvolá na každú dávku.

      • Uložený názov procedúry: Vyberte uloženú procedúru alebo manuálne zadajte názov uloženej procedúry pri kontrole poľa Úprava na čítanie údajov zo zdrojovej tabuľky.

      • Uložené parametre procedúry: Zadajte hodnoty pre parametre uloženej procedúry. Povolené hodnoty sú páry názvov alebo hodnôt. Názvy a puzdro parametrov sa musia zhodovať s názvami a puzdrom parametrov uloženej procedúry.

        Snímka obrazovky zobrazujúca nastavenia uloženej procedúry.

  • Zámok hromadnej vloženia tabuľky: Vyberte možnosť Áno alebo Nie. Toto nastavenie môžete použiť na zlepšenie výkonu kopírovania počas operácie hromadného vkladania do tabuľky bez indexu od viacerých klientov. Ďalšie informácie nájdete v časti HROMADNÉ VLOŽENIE (Transact-SQL)

  • Možnosť Tabuľka: Určuje, či sa má automaticky vytvoriť cieľová tabuľka , ak tabuľka neexistuje na základe zdrojovej schémy. Vyberte položku Žiadne alebo Automaticky vytvoriť tabuľku. Automatické vytváranie tabuliek nie je podporované, keď cieľ určuje uloženú procedúru.

  • Skript pred kopírovaním: zadajte skript pre aktivitu kopírovania, ktorý sa má spustiť pred zápisom údajov do cieľovej tabuľky pri každom spustení. Pomocou tejto vlastnosti môžete vyčistiť vopred načítané údaje.

  • Písanie časového limitu dávky: Zadajte čas čakania na dokončenie operácie vkladania dávky pred uplynutím časového limitu. Povolená hodnota je časové rozpätie. Predvolená hodnota je 00:30:00 (30 minút).

  • Veľkosť dávky zapisovania: zadajte počet riadkov, ktoré sa majú vložiť do tabuľky SQL na každú dávku. Povolená hodnota je celé číslo (počet riadkov). Služba predvolene dynamicky určuje vhodnú veľkosť dávky na základe veľkosti riadka.

  • Maximálny počet súbežných pripojení: Zadajte hornú hranicu súbežných pripojení vytvorených do ukladacieho priestoru údajov počas spustenia aktivity. Zadajte hodnotu iba vtedy, keď chcete obmedziť súbežné pripojenia.

  • Zakázanie analýzy metriky výkonu: toto nastavenie sa používa na zhromažďovanie metrík, ako sú napríklad DTU, DWU, RU atď., na účely kopírovania optimalizácie výkonu a odporúčaní. Ak sa týmto správaním chcete zaoberať, začiarknite toto políčko.

Mapovanie

Ak v konfigurácii karty Mapovanie nepoužite databázu Azure SQL s funkciou automatického vytvárania tabuľky ako cieľ, prejdite na položku Mapovanie.

Ak použijete databázu Azure SQL s automatickou tvorbou tabuľky ako cieľ, s výnimkou konfigurácie v mapovaní, môžete upraviť typ pre cieľové stĺpce. Po výbere možnosti Importovať schémy môžete zadať typ stĺpca vo svojom cieli.

Napríklad typ stĺpca ID v zdroji je int a pri mapovaní na cieľový stĺpec môžete zmeniť typ pohyblivej čiarky.

Snímka obrazovky znázorňujúca typ cieľového stĺpca priradenia.

Nastavenia

Ak chcete Nastavenia konfiguráciu kariet, prejdite do časti Konfigurácia ďalších nastavení na karte Nastavenia.

Paralelná kópia z databázy Azure SQL

Konektor databázy Azure SQL v kopírovanej aktivite poskytuje vstavané rozdelenie údajov na kopírovanie údajov paralelne. Možnosti rozdelenia údajov nájdete v aktivite kopírovania na karte Zdroj .

Keď povolíte rozdeľovanie kópie, kopírovanie aktivity spustí paralelné dotazy v zdroji databázy Azure SQL na načítanie údajov podľa oblastí. Paralelný stupeň sa riadi stupne paralelného spracovania na karte Nastavenia aktivity kopírovania. Ak napríklad nastavíte stupeň paralelného kopírovania na štyri, služba súbežne vygeneruje a spustí štyri dotazy na základe zadanej možnosti a nastavení oblasti a každý dotaz načíta časť údajov z databázy Azure SQL.

Odporúča sa povoliť paralelnú kópiu s oblasťou údajov najmä vtedy, keď načítate veľké množstvo údajov z databázy Azure SQL. Nižšie sú uvedené navrhované konfigurácie pre rôzne scenáre. Pri kopírovaní údajov do úložiska údajov založených na súbore sa odporúča zapísať do priečinka ako viacero súborov (zadať iba názov priečinka). V takom prípade je výkon lepší ako zapisovanie do jedného súboru.

Scenár Navrhované nastavenia
Úplné načítanie z veľkej tabuľky pomocou fyzických oblastí. Možnosť oblasti: Fyzické oblasti tabuľky.

Počas spustenia služba automaticky rozpozná fyzické oblasti a skopíruje údaje podľa oblastí.

Ak chcete skontrolovať, či tabuľka obsahuje fyzickú oblasť alebo nie, môžete odkazovať na tento dotaz.
Úplné načítanie z veľkej tabuľky bez fyzických oblastí, zatiaľ čo pri celočíselnom stĺpci alebo stĺpci typu datetime na rozdelenie údajov. Možnosti oblasti: Oblasť dynamického rozsahu.
Stĺpec oblasti (voliteľné): Zadajte stĺpec použitý na rozdelenie údajov. Ak parameter nie je zadaný, použije sa stĺpec indexu alebo primárneho kľúča.
Horná hranica oblasti a dolná hranica oblasti (voliteľné): Zadajte, ak chcete určiť krok v oblasti. Na filtrovanie riadkov v tabuľke to však nie je možné. Všetky riadky v tabuľke sa rozdelia a skopírujú. Ak parameter nie je zadaný, aktivity kopírovania automaticky zisťujú hodnoty.

Ak napríklad stĺpec "ID" vášho oddielu obsahuje hodnoty v rozsahu od 1 do 100 a spodnú hranicu nastavíte ako 20 a hornú hranicu 80, s paralelnou kópiou ako 4, služba načíta údaje podľa 4 oblastí – ID v rozsahu <=20, [21, 50], [51, 80] a >=81.
Načítajte veľké množstvo údajov pomocou vlastného dotazu bez fyzických oblastí, zatiaľ čo so stĺpcom celé číslo alebo dátum/dátum a čas na rozdelenie údajov. Možnosti oblasti: Oblasť dynamického rozsahu.
Dotaz: SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>.
Stĺpec oblasti: zadajte stĺpec, ktorý sa používa na rozdelenie údajov.
Horná hranica oblasti a dolná hranica oblasti (voliteľné): Zadajte, ak chcete určiť krok v oblasti. Toto nie je pre filtrovanie riadkov v tabuľke, všetky riadky vo výsledku dotazu sa rozdelia a skopírujú. Ak nie je zadaná, aktivita kopírovaním automaticky zistí hodnotu.

Ak má napríklad stĺpec vášho stĺpca oblasti "ID" rozsah hodnôt od 1 do 100 a spodnú hranicu nastavíte ako 20 a hornú hranicu 80, s paralelnou kópiou ako 4 služba načíta údaje podľa 4 oblastí– ID v rozsahu <=20, [21, 50], [51, 80] a >=81.

Tu sú ďalšie vzorové dotazy pre rôzne scenáre:
• Dotaz na celú tabuľku:
SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition
• Dotaz z tabuľky s výberom stĺpca a ďalšími filtrami klauzuly where-clause:
SELECT <column_list> FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>
• Dotaz s poddotazmi:
SELECT <column_list> FROM (<your_sub_query>) AS T WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>
• Dotaz s oblasťou v poddotaze:
SELECT <column_list> FROM (SELECT <your_sub_query_column_list> FROM <TableName> WHERE ?DfDynamicRangePartitionCondition) AS T

Najvhodnejšie postupy na načítanie údajov pomocou možnosti oblasti:

  • Vyberte rozlišovací stĺpec ako stĺpec oblasti (napríklad primárny kľúč alebo jedinečný kľúč), aby sa predišlo skresleniu údajov.
  • Ak tabuľka obsahuje vstavanú oblasť, na získanie lepšieho výkonu použite možnosť oblasti Fyzické oblasti tabuľky .

Vzorový dotaz na kontrolu fyzickej oblasti

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]'

Ak tabuľka obsahuje fyzickú oblasť, zobrazí sa časť HasPartition ako "áno" ako nasledujúca.

Výsledok dotazu SQL.

Súhrn tabuľky

Nasledujúce tabuľky obsahujú ďalšie informácie o aktivite kopírovania v databáze Azure SQL.

Source

Názov Popis Value Požaduje sa Vlastnosť skriptu JSON
Typ ukladacieho priestoru údajov Typ ukladacieho priestoru údajov. Externé Áno /
Pripojenie ion Pripojenie k zdrojového úložisku údajov. <vaše pripojenie> Áno Pripojenie
typ Pripojenie ionu Váš typ pripojenia. Vyberte možnosť Databáza Azure SQL. Databáza Azure SQL Áno /
Table Vaša tabuľka zdrojových údajov. <názov cieľovej tabuľky> Áno Schémy
table
Použiť dotaz Vlastný dotaz SQL na čítanie údajov. •Žiadny
•Dotaz
• Uložená procedúra
No

• sqlReaderQuery
• sqlReaderStoredProcedureName, storedProcedureParameters
Časový limit dotazu Časový limit pre vykonanie príkazu dotazu je predvolene 120 minút. Timespan No queryTimeout (časový limit dotazu)
Úroveň izolácie Určuje správanie uzamknutia transakcií pre zdroj SQL. •Žiadny
• ReadCommitted
• ReadUncommitted
• Opakovateľné Čítané
• Serializovateľné
•Snímka
No isolationLevel
Možnosť oblasti Možnosti rozdelenia údajov používané na načítanie údajov z databázy Azure SQL. •Žiadny
• Fyzické oblasti tabuľky
• Dynamický rozsah
No partition (oblasť)Možnosť:
• PhysicalPartitionsOfTable
• DynamicRange
Ďalšie stĺpce Pridajte ďalšie stĺpce údajov na ukladanie relatívnej cesty alebo statickej hodnoty zdrojových súborov. Pre druhý sa podporuje výraz. •Meno
•Hodnota
No additionalColumns:
•meno
•Hodnota

Cieľ

Názov Popis Value Požaduje sa Vlastnosť skriptu JSON
Typ ukladacieho priestoru údajov Typ ukladacieho priestoru údajov. Externé Áno /
Pripojenie ion Vaše pripojenie do cieľového úložiska údajov. <vaše pripojenie > Áno Pripojenie
typ Pripojenie ionu Váš typ pripojenia. Vyberte možnosť Databáza Azure SQL. Databáza Azure SQL Áno /
Table Vaša cieľová tabuľka údajov. <názov cieľovej tabuľky> Áno Schémy
table
Správanie pri písaní Definuje správanie pri zápise, keď je zdrojom súbory z úložiska údajov na základe súborov. •Vložiť
• Upsert
• Uložená procedúra
No writeBehavior:
•Vložiť
• upsert
• sqlWriterStoredProcedureName, sqlTableType, storedProcedureParameters
Zámok hromadnej vloženia tabuľky Toto nastavenie môžete použiť na zlepšenie výkonu kopírovania počas operácie hromadného vkladania do tabuľky bez indexu od viacerých klientov. Áno alebo nie No sqlWriterUseTableLock:
true alebo false
Možnosť Tabuľka Určuje, či sa má automaticky vytvoriť cieľová tabuľka, ak neexistuje na základe zdrojovej schémy. •Žiadny
• Automaticky vytvoriť tabuľku
No tableMožnosť:
• autoCreate (automaticky vytvoriť)
Pred kopírovaním skriptu Skript na kopírovanie aktivity, ktorý sa má spustiť pred zápisom údajov do cieľovej tabuľky v každom spustení. Pomocou tejto vlastnosti môžete vyčistiť vopred načítané údaje. <skript pred kopírovaním>
(reťazec)
No preCopyScript
Časový limit na písanie dávky Čas čakania na dokončenie operácie vkladania dávky pred uplynutím limitu. Povolená hodnota je časové rozpätie. Predvolená hodnota je 00:30:00 (30 minút). Timespan No writeBatchTimeout
Veľkosť dávky zápisu Počet riadkov, ktoré sa majú vložiť do tabuľky SQL na každú dávku. Služba predvolene dynamicky určuje vhodnú veľkosť dávky na základe veľkosti riadka. <počet riadkov>
(celé číslo)
No writeBatchSize
Maximálny počet súbežných pripojení Horná hranica súbežných pripojení vytvorených do ukladacieho priestoru údajov počas spustenia aktivity. Zadajte hodnotu iba vtedy, keď chcete obmedziť súbežné pripojenia. <horná hranica súbežných pripojení>
(celé číslo)
No maxConcurrent Pripojenie ions
Zakázanie analýzy metrík výkonu Toto nastavenie sa používa na zhromažďovanie metrík, ako sú napríklad DTU, DWU, RU a podobne, na účely kopírovania optimalizácie výkonu a odporúčaní. Ak sa týmto správaním chcete zaoberať, začiarknite toto políčko. vybrať alebo zrušiť výber No disableMetricsCollection:
true alebo false