Zdieľať cez


Ako nakonfigurovať Amazon RDS pre SQL Server v kopírovaní aktivity

Tento článok popisuje, ako použiť aktivitu kopírovania v údajovom kanáli na kopírovanie údajov z Amazon RDS pre SQL Server.

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

Amazon RDS pre SQL Server na karte Zdroj aktivity kopírovania 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 Amazon RDS pre SQL Server. Ak pripojenie neexistuje, vytvorte nové pripojenie Amazon RDS pre SQL Server výberom položky Nové.

  • Pripojenie ion type (Typ Pripojenie ion): Vyberte položku Amazon RDS pre SQL Server.

  • Použitie dotazu: zadajte spôsob čítania údajov. Môžete vybrať možnosť Tabuľka, Dotaz alebo Uložená procedúra. Nasledujúci zoznam popisuje konfiguráciu každého nastavenia:

    • Tabuľka: Čítať údaje zo zadanej tabuľky. V rozbaľovacom zozname vyberte zdrojovú tabuľku alebo vyberte položku Upraviť a zadajte ju manuálne.

    • 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 nastavenia 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 výbere položky Upraviť 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. Môžete vybrať parametre importu a získať tak parametre uloženej procedúry.

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

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

  • Č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).

  • Úroveň izolácie: Určuje správanie uzamknutia transakcií pre zdroj SQL. Povolené hodnoty sú: Viazané na čítanie, Čítanie bez vynechania, Opakovateľné čítanie, Serializable, Snímka. Ak nie je zadaná, použije sa predvolená úroveň izolácie databázy. Ď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 Amazon RDS pre SQL Server. Povolené hodnoty sú: Žiadne (predvolené), Fyzické oblasti tabuľky a Dynamický rozsah. Keď je povolená možnosť oblasti (to znamená, že nie je žiadna), úroveň paralelného načítania údajov zo služby Amazon RDS pre SQL Server je v nastaveniach kopírovania na karte s nastaveniami aktivity riadená stupne paralelného spracovania .

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

    • Fyzické oblasti tabuľky: Pri použití fyzickej oblasti sa stĺpec a mechanizmus oblasti automaticky určia na základe definície fyzickej tabuľky.

    • Dynamický rozsah: Pri použití dotazu so súbežným povolením je potrebný parameter oblasti rozsahu(?DfDynamicRangePartitionCondition). 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 rozpozná a použije ako stĺpec oblasti.

        Ak na načítanie zdrojových údajov použijete dotaz, zadajte ?DfDynamicRangePartitionCondition klauzulu WHERE. Pozrite si napríklad časť Paralelná kópia z databázy SQL.

      • 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ú. Ak nie je zadaná, aktivita kopírovaním automaticky zistí hodnotu. Pozrite si napríklad časť Paralelná kópia z databázy SQL.

      • 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ú. Ak nie je zadaná, aktivita kopírovaním automaticky zistí hodnotu. Pozrite si napríklad časť Paralelná kópia z databázy SQL.

  • Ď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.

Všimnite si tieto body:

  • Ak je dotaz zadaný pre zdroj, aktivita kopírovania spustí tento dotaz na zdroji Amazon RDS pre SQL Server, aby sa získali údaje. Môžete tiež zadať uloženú procedúru tak, že určíte názov uloženej procedúry a parametre uloženej procedúry, ak uložená procedúra má parametre.
  • Pri použití uloženej procedúry v zdroji na načítanie údajov si všimnite, že ak je uložená procedúra navrhnutá ako vrátenie inej schémy, keď sa odovzdáva iná hodnota parametra, môže sa vyskytnúť zlyhanie alebo sa môže zobraziť neočakávaný výsledok pri importovaní schémy z používateľského rozhrania alebo pri kopírovaní údajov do databázy SQL pomocou automatického vytvárania tabuľky.

Mapovanie

V časti Konfigurácia karty Mapovanie prejdite na položku Konfigurácia priradení na karte 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 SQL

Konektor Amazon RDS pre SQL Server v rámci aktivity kopírovania poskytuje vstavané rozdelenie údajov na súbežné kopírovanie údajov. Možnosti rozdelenia údajov nájdete v aktivite kopírovania na karte Zdroj .

Keď povolíte rozdeľovanie kópie, kopírovaním aktivity sa skopírujú paralelné dotazy na váš zdroj Amazon RDS pre SQL Server, aby sa načítali údaje 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 vášho amazonského jazyka RDS pre SQL Server.

Paralelnú kópiu s oblasťou údajov odporúčame povoliť najmä vtedy, keď načítate veľké množstvo údajov zo svojho amazonského jazyka RDS pre SQL Server. 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 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ý, aktivita kopírovania automaticky rozpozná hodnoty a môže to trvať dlho v závislosti od hodnôt MIN a MAX. Odporúča sa poskytnúť hornú väzbu a dolnú väzbu.

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:

  1. Vyberte rozlišovací stĺpec ako stĺpec oblasti (napríklad primárny kľúč alebo jedinečný kľúč), aby sa predišlo skresleniu údajov.
  2. 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

V nasledujúcej tabuľke nájdete súhrn a ďalšie informácie o aktivite kopírovania amazonského jazyka RDS pre SQL Server.

Zdrojové informácie

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 položku Amazon RDS pre SQL Server. Amazon RDS pre SQL Server Áno /
Použiť dotaz Vlastný dotaz SQL na čítanie údajov. •Tabuľky
•Dotaz
• Uložená procedúra
Áno /
Table Vaša tabuľka zdrojových údajov. < názov cieľovej tabuľky> No Schémy
table
Dotaz Vlastný dotaz SQL na čítanie údajov. < váš dotaz > No sqlReaderQuery
Uložený názov procedúry Táto vlastnosť je názov uloženej procedúry, ktorá prečí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 > No sqlReaderStoredProcedureName
Parameter uloženej procedúry Tieto parametre sa používajú pre uloženú procedúru. 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. < páry názvov alebo hodnôt > No storedProcedureParameters
Časový limit dotazu Časový limit pre vykonanie príkazu dotazu. Timespan
(predvolená hodnota je 120 minút)
No queryTimeout (časový limit dotazu)
Úroveň izolácie Určuje správanie uzamknutia transakcií pre zdroj SQL. • Prečítajte si zaviazala
• Čítať bez vynechania
• Opakovateľný čitateľný
• Serializovateľné
•Snímka
No isolationLevel:
• ReadCommitted
• ReadUncommitted
• Opakovateľné Čítané
• Serializovateľné
•Snímka
Možnosť oblasti Možnosti rozdelenia údajov používané na načítanie údajov zo služby Amazon RDS pre SQL Server. • Žiadne (predvolené)
• Fyzické oblasti tabuľky
• Dynamický rozsah
No partition (oblasť)Možnosť:
• Žiadne (predvolené)
• PhysicalPartitionsOfTable
• DynamicRange
Názov stĺpca oblasti Názov zdrojového stĺpca vo formáte celého čísla alebo typu dátum/dátum a čas (int, , smallint, bigint, datesmalldatetime, datetime, datetime2alebo datetimeoffset), ktorý sa používa pri delení rozsahu pre paralelnú kópiu. Ak nie je zadaný, index alebo primárny kľúč tabuľky sa automaticky rozpozná a použije ako stĺpec oblasti. Ak na načítanie zdrojových údajov použijete dotaz, zadajte ?DfDynamicRangePartitionCondition klauzulu WHERE. < názvy stĺpcov oblasti > No partitionColumnName
Horná hranica oblasti Maximálna hodnota 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ú. Ak nie je zadaná, aktivita kopírovaním automaticky zistí hodnotu. < horná hranica oblasti > No partitionUpperBound
Dolná hranica oblasti Minimálna hodnota 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ú. Ak nie je zadaná, aktivita kopírovaním automaticky zistí hodnotu. < dolná hranica oblasti > No partitionLowerBound
Ď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