Az Sql Serverhez készült Amazon RDS konfigurálása másolási tevékenységben
Ez a cikk azt ismerteti, hogyan használhatja a másolási tevékenységet egy adatfolyamban adatok másolására az SQL Serverhez készült Amazon RDS-ből.
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 alábbi tulajdonságok támogatottak az SQL Serverhez készült Amazon RDS-hez a másolási tevékenység Forrás lapján.
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 egy Amazon RDS-t az SQL Server-kapcsolathoz a kapcsolati listából. Ha a kapcsolat nem létezik, hozzon létre egy új Amazon RDS-t az SQL Server-kapcsolathoz az Új lehetőség kiválasztásával.
Csatlakozás ion típusa: Válassza az Sql Serverhez készült Amazon RDS-t.
Lekérdezés használata: Adja meg az adatok olvasásának módját. A Tábla, a Lekérdezés vagy a Tárolt eljárás lehetőséget választhatja. Az alábbi lista az egyes beállítások konfigurációját ismerteti:
Táblázat: Adatok beolvasása a megadott táblából. Válassza ki a forrástáblát a legördülő listából, vagy válassza a Szerkesztés lehetőséget a manuális bevitelhez.
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 lehetőséget választja az adatok forrástáblából való olvasásához.
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. Az importálási paraméterek kiválasztásával lekérheti a tárolt eljárás paramétereit.
A Speciális területen a következő mezőket adhatja meg:
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: Leolvasott, Nem véglegesített olvasás, Megismételhető olvasás, Szerializálható, Pillanatkép. Ha nincs megadva, a rendszer az adatbázis alapértelmezett elkülönítési szintjét használja. 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 Adatokat az Sql Serverhez készült Amazon RDS-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 (azaz nem Nincs), a párhuzamosság mértékét, hogy egyidejűleg betöltse az adatokat az Amazon RDS-ből az SQL Serverhez, a másolási tevékenység beállításai lapon a másolási párhuzamosság foka szabályozza.
Nincs: Válassza ezt a beállítást, ha nem használ partíciót.
A tábla fizikai partíciói: Fizikai partíciók használatakor 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árhuzamos lekérdezést használ, a tartomány partícióparaméterére(
?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 és partícióoszlopként használja a tábla indexét vagy elsődleges kulcsát.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.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 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. Példaként tekintse meg az SQL Database párhuzamos másolatát.
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 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. Példaként tekintse meg az SQL Database párhuzamos másolatát.
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.
Vegye figyelembe az alábbiakat:
- Ha a lekérdezés a forráshoz van megadva, a másolási tevékenység ezt a lekérdezést az SQL Server-forrásHoz készült Amazon RDS-en futtatja az adatok lekéréséhez. Tárolt eljárást is megadhat a tárolt eljárás nevének és a tárolt eljárás paramétereinek megadásával, ha a tárolt eljárás paramétereket vesz fel.
- 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.
Hozzárendelés
A Leképezés lap konfigurálásához válassza a Leképezés lap leképezési beállításainak konfigurálását.
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 SQL Database-ből
Az SQL Server-összekötőhöz készült Amazon RDS 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 Amazon RDS for SQL Server-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 négyre állítja a másolási párhuzamosságot , a szolgáltatás egyszerre négy lekérdezést hoz létre és futtat 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 Sql Serverhez készült Amazon RDS-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 Sql Serverhez készült Amazon RDS-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 elsődleges kulcs oszlopát 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, és a MIN és a MAX értékektől függően hosszú időt vehet igénybe. Javasoljuk, hogy felső és alsó határt adjon meg. 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 SQL Server-másolási tevékenységhez készült Amazon RDS-ről az alábbi táblázatból tájékozódhat.
Forrásadatok
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 SQL Serverhez készült Amazon RDS lehetőséget. | Sql Serverhez készült Amazon RDS | Igen | / |
Lekérdezés használata | Az adatok olvasására szolgáló egyéni SQL-lekérdezés. | •Táblázat •Lekérdezés • Tárolt eljárás |
Igen | / |
Tábla | A forrásadattábla. | < a céltábla neve> | Nem | Séma table |
Lekérdezés | Az adatok olvasására szolgáló egyéni SQL-lekérdezés. | < a lekérdezés > | Nem | sqlReaderQuery |
Tárolt eljárás neve | Ez a tulajdonság 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. | < tárolt eljárás neve > | Nem | sqlReaderStoredProcedureName |
Tárolt eljárás paramétere | Ezek a paraméterek a tárolt eljáráshoz tartoznak. 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. | < név- vagy értékpárok > | Nem | storedProcedureParameters |
Lekérdezés időtúllépése | A lekérdezési parancs végrehajtásának időtúllépése. | időtartomány (az alapértelmezett érték 120 perc) |
Nem | queryTimeout |
Elkülönítési szint | Az SQL-forrás tranzakciózárolási viselkedését adja meg. | • Lekötött olvasás • Nem véglegesített olvasás • Ismételhető olvasás •Szerializálható •Pillanatkép |
Nem | isolationLevel: • ReadCommitted • ReadUncommitted • RepeatableRead •Szerializálható •Pillanatkép |
Partíciós beállítás | Az adatok SQL Serverhez készült Amazon RDS-ből való betöltéséhez használt adatparticionálási beállítások. | • Nincs (alapértelmezett) • A tábla fizikai partíciói • Dinamikus tartomány |
Nem | partitionOption: • Nincs (alapértelmezett) • PhysicalPartitionsOfTable • DynamicRange |
Partícióoszlop neve | A forrásoszlop neve egész számban vagy dátum/dátum/idő típusban (int , , smallint , bigint , date smalldatetime , datetime , , datetime2 vagy datetimeoffset ) , amelyet a tartomány particionálása használ a párhuzamos másoláshoz. Ha nincs megadva, a rendszer automatikusan észleli és partícióoszlopként használja a tábla indexét vagy elsődleges kulcsát. Ha lekérdezést használ a forrásadatok lekéréséhez, a WHERE záradékban kapcsoljon ?DfDynamicRangePartitionCondition be. |
< a partícióoszlopok nevei > | Nem | partitionColumnName |
Partíció felső határa | 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. | < a partíció felső határa > | Nem | partitionUpperBound |
Partíció alsó határa | 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. | < a partíció alsó határa > | Nem | partitionLowerBound |
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 |