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


Adatok másolása az Sql Serverhez készült Amazon RDS-ből az Azure Data Factory vagy az Azure Synapse Analytics használatával

Ez a cikk azt ismerteti, hogyan használhatja a másolási tevékenységet az Azure Data Factoryben és az Azure Synapse-folyamatokban adatok másolásához az SQL Server-adatbázishoz készült Amazon RDS-ből. További információért olvassa el az Azure Data Factory vagy az Azure Synapse Analytics bevezető cikkét.

Támogatott képességek

Ez az SQL Server-összekötőhöz készült Amazon RDS a következő képességeket támogatja:

Támogatott képességek IR
Copy tevékenység (forrás/-) (1) (2)
Keresési tevékenység (1) (2)
GetMetadata-tevékenység (1) (2)
Tárolt eljárástevékenység (1) (2)

(1) Azure-integrációs modul (2) Saját üzemeltetésű integrációs modul

A másolási tevékenység által forrásként vagy fogadóként támogatott adattárak listáját a Támogatott adattárak táblában találja.

Ez az SQL Server-összekötőhöz készült Amazon RDS a következőket támogatja:

  • Az SQL Server 2005-ös vagy újabb verziója.
  • Adatok másolása SQL- vagy Windows-hitelesítéssel.
  • Forrásként az adatok lekérése SQL-lekérdezéssel vagy tárolt eljárással. Az SQL Server-forráshoz készült Amazon RDS-ből történő párhuzamos másolást is választhatja, a részletekért tekintse meg az SQL-adatbázis párhuzamos példányát ismertető szakaszt.

Az SQL Server Express LocalDB nem támogatott.

Előfeltételek

Ha az adattár helyszíni hálózaton, Azure-beli virtuális hálózaton vagy Amazon Virtual Private Cloudon belül található, konfigurálnia kell egy saját üzemeltetésű integrációs modult a csatlakozáshoz.

Ha az adattár felügyelt felhőalapú adatszolgáltatás, használhatja az Azure Integration Runtime-ot. Ha a hozzáférés a tűzfalszabályokban jóváhagyott IP-címekre korlátozódik, hozzáadhat azure integration runtime IP-eket az engedélyezési listához.

Az Azure Data Factory felügyelt virtuális hálózati integrációs moduljával is elérheti a helyszíni hálózatot anélkül, hogy saját üzemeltetésű integrációs modult telepítene és konfigurálna.

A Data Factory által támogatott hálózati biztonsági mechanizmusokkal és lehetőségekkel kapcsolatos további információkért lásd az adathozzáférési stratégiákat.

Első lépések

A Copy tevékenység folyamattal való végrehajtásához használja az alábbi eszközök vagy SDK-k egyikét:

Amazon RDS létrehozása SQL Serverhez társított szolgáltatáshoz felhasználói felületen

Az alábbi lépésekkel létrehozhat egy Amazon RDS-t az SQL Serverhez társított szolgáltatáshoz az Azure Portal felhasználói felületén.

  1. Keresse meg az Azure Data Factory vagy a Synapse-munkaterület Kezelés lapját, és válassza a Társított szolgáltatások lehetőséget, majd kattintson az Új gombra:

  2. Keresse meg az SQL Serverhez készült Amazon RDS-t, és válassza ki az SQL Server-összekötőhöz készült Amazon RDS-t.

    Képernyőkép az SQL Server-összekötőhöz készült Amazon RDS-ről.

  3. Konfigurálja a szolgáltatás részleteit, tesztelje a kapcsolatot, és hozza létre az új társított szolgáltatást.

    Képernyőkép az Sql Serverhez társított Amazon RDS konfigurációjáról.

Az összekötő konfigurációjának részletei

A következő szakaszok részletesen ismertetik a Data Factory és a Synapse-folyamat entitásainak az SQL Server-adatbázis-összekötőhöz készült Amazon RDS-hez való definiálásához használt tulajdonságokat.

Társított szolgáltatás tulajdonságai

Az SQL Server-összekötőhöz készült Amazon RDS ajánlott verziója támogatja a TLS 1.3-at. Ebben a szakaszban frissítheti az Amazon RDS for SQL Server-összekötő verzióját az örökölt verzióról. A tulajdonság részleteiért tekintse meg a megfelelő szakaszokat.

Feljegyzés

Az Sql Server Always Encryptedhez készült Amazon RDS nem támogatott az adatfolyamban.

Tipp.

Ha a "UserErrorFailedToConnectToSqlServer" hibakóddal és egy "Az adatbázis munkamenetkorlátja XXX, és elérte" hibaüzenetet kapott, adja hozzá Pooling=false a kapcsolati sztring, és próbálkozzon újra.

Az ajánlott verzió alkalmazásakor ezek az általános tulajdonságok támogatottak az SQL Serverhez társított Amazon RDS-szolgáltatások esetében:

Tulajdonság Leírás Kötelező
típus A típustulajdonságot AmazonRdsForSqlServer értékre kell állítani. Igen
kiszolgáló Annak az SQL Server-példánynak a neve vagy hálózati címe, amelyhez csatlakozni szeretne. Igen
adatbázis Az adatbázis neve. Igen
authenticationType A hitelesítéshez használt típus. Az engedélyezett értékek az SQL (alapértelmezett), a Windows. Lépjen az adott tulajdonságokra és előfeltételekre vonatkozó hitelesítési szakaszra. Igen
alwaysEncryptedSettings Adja meg az Always Encrypted engedélyezéséhez szükséges alwaysencryptedsettings-információkat az Amazon RDS for SQL Serverben tárolt bizalmas adatok felügyelt identitás vagy szolgáltatásnév használatával történő védelméhez. További információ: A táblázatot és az Always Encrypted használata szakaszt követő JSON-példa. Ha nincs megadva, az alapértelmezett mindig titkosított beállítás le van tiltva. Nem
encrypt Adja meg, hogy szükség van-e TLS-titkosításra az ügyfél és a kiszolgáló között küldött összes adathoz. Beállítások: kötelező (igaz, alapértelmezett)/nem kötelező (hamis esetén)/szigorú. Nem
trustServerCertificate Adja meg, hogy a csatorna titkosítva lesz-e a tanúsítványlánc megkerülése közben a megbízhatóság ellenőrzéséhez. Nem
hostNameInCertificate A kapcsolat kiszolgálótanúsítványának ellenőrzésekor használandó állomásnév. Ha nincs megadva, a rendszer a kiszolgáló nevét használja a tanúsítvány érvényesítéséhez. Nem
connectVia Ez az integrációs modul az adattárhoz való csatlakozásra szolgál. További információ az Előfeltételek szakaszból. Ha nincs megadva, a rendszer az alapértelmezett Azure-integrációs modult használja. Nem

További kapcsolati tulajdonságokért tekintse meg az alábbi táblázatot:

Tulajdonság Leírás Kötelező
applicationIntent Az alkalmazás számítási feladatainak típusa kiszolgálóhoz való csatlakozáskor. Az engedélyezett értékek és ReadWritea ReadOnly . Nem
connectTimeout A kiszolgálóval való kapcsolat várakozási ideje (másodpercben), mielőtt megszakítja a kísérletet, és hibát okozna. Nem
connectRetryCount Az inaktív kapcsolati hiba azonosítása után megkísérelt újracsatlakozások száma. Az értéknek 0 és 255 közötti egész számnak kell lennie. Nem
connectRetryInterval Az inaktív kapcsolati hiba azonosítása után az egyes újracsatlakozási kísérletek között eltelt idő (másodpercben). Az értéknek 1 és 60 közötti egész számnak kell lennie. Nem
loadBalanceTimeout A kapcsolat minimális időtartama (másodpercben) ahhoz, hogy a kapcsolat a kapcsolat megszakadása előtt a kapcsolatkészletben éljen. Nem
commandTimeout Az alapértelmezett várakozási idő (másodpercben), mielőtt befejezi a parancs végrehajtására tett kísérletet, és hibát okozna. Nem
integratedSecurity Az engedélyezett értékek a következők: true vagy false. A beállításnál adja meg false, hogy a felhasználónév és a jelszó meg van-e adva a kapcsolatban. A beállításnál trueazt jelzi, hogy a rendszer az aktuális Windows-fiók hitelesítő adatait használja-e a hitelesítéshez. Nem
feladatátvételi partner Annak a partnerkiszolgálónak a neve vagy címe, amelyhez csatlakozni szeretne, ha az elsődleges kiszolgáló nem működik. Nem
maxPoolSize Az adott kapcsolat kapcsolatkészletében engedélyezett kapcsolatok maximális száma. Nem
minPoolSize Az adott kapcsolat kapcsolatkészletében engedélyezett kapcsolatok minimális száma. Nem
multipleActiveResultSets Az engedélyezett értékek a következők: true vagy false. Ha megadja true, egy alkalmazás több aktív eredményhalmazt (MARS) is képes fenntartani. Ha megadja false, az alkalmazásnak egy kötegből kell feldolgoznia vagy megszakítania az összes eredményhalmazt, mielőtt bármilyen más köteget végrehajthat az adott kapcsolaton. Nem
multiSubnetFailover Az engedélyezett értékek a következők: true vagy false. Ha az alkalmazás egy AlwaysOn rendelkezésre állási csoporthoz (AG) csatlakozik különböző alhálózatokon, a tulajdonság true beállítása gyorsabb észlelést és kapcsolatot biztosít az aktuálisan aktív kiszolgálóval. Nem
packetSize A kiszolgálópéldányokkal való kommunikációhoz használt hálózati csomagok bájtban megadott mérete. Nem
Készletezés Az engedélyezett értékek a következők: true vagy false. Amikor megadja true, a rendszer készletbe fogja állítani a kapcsolatot. Amikor megadja a kapcsolatot false, a rendszer minden alkalommal explicit módon megnyitja a kapcsolatot, amikor a kapcsolatot kéri. Nem

SQL-hitelesítés

Az SQL-hitelesítés használatához az előző szakaszban ismertetett általános tulajdonságok mellett adja meg a következő tulajdonságokat:

Tulajdonság Leírás Kötelező
Felhasználónév A kiszolgálóhoz való csatlakozáshoz használt felhasználónév. Igen
jelszó A felhasználónév jelszava. Jelölje meg ezt a mezőt SecureStringként a biztonságos tároláshoz. Hivatkozhat az Azure Key Vaultban tárolt titkos kódokra is. Igen

Példa: SQL-hitelesítés használata

{
    "name": "AmazonSqlLinkedService",
    "properties": {
        "type": "AmazonRdsForSqlServer",
        "typeProperties": {
            "server": "<name or network address of the SQL server instance>",
            "database": "<database name>",
            "encrypt": "<encrypt>",
            "trustServerCertificate": false,
            "authenticationType": "SQL",
            "userName": "<user name>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Példa: SQL-hitelesítés használata jelszóval az Azure Key Vaultban

{
    "name": "AmazonSqlLinkedService",
    "properties": {
        "type": "AmazonRdsForSqlServer",
        "typeProperties": {
            "server": "<name or network address of the SQL server instance>",
            "database": "<database name>",
            "encrypt": "<encrypt>",
            "trustServerCertificate": false,
            "authenticationType": "SQL",
            "userName": "<user name>",
            "password": { 
                "type": "AzureKeyVaultSecret", 
                "store": { 
                    "referenceName": "<Azure Key Vault linked service name>", 
                    "type": "LinkedServiceReference" 
                }, 
                "secretName": "<secretName>" 
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Példa: Always Encrypted használata

{
    "name": "AmazonSqlLinkedService",
    "properties": {
        "type": "AmazonRdsForSqlServer",
        "typeProperties": {
            "server": "<name or network address of the SQL server instance>",
            "database": "<database name>",
            "encrypt": "<encrypt>",
            "trustServerCertificate": false,
            "authenticationType": "SQL",
            "userName": "<user name>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            },
            "alwaysEncryptedSettings": {
                "alwaysEncryptedAkvAuthType": "ServicePrincipal",
                "servicePrincipalId": "<service principal id>",
                "servicePrincipalKey": {
                    "type": "SecureString",
                    "value": "<service principal key>"
                }
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Windows-hitelesítés

A Windows-hitelesítés használatához az előző szakaszban ismertetett általános tulajdonságok mellett adja meg a következő tulajdonságokat:

Tulajdonság Leírás Kötelező
Felhasználónév Adjon meg egy felhasználónevet. Ilyen például a tartománynév\felhasználónév. Igen
jelszó Adja meg a felhasználónévhez megadott felhasználói fiók jelszavát. Jelölje meg ezt a mezőt SecureStringként a biztonságos tároláshoz. Hivatkozhat az Azure Key Vaultban tárolt titkos kódokra is. Igen

Példa: Windows-hitelesítés használata

{
    "name": "AmazonSqlLinkedService",
    "properties": {
        "type": "AmazonRdsForSqlServer",
        "typeProperties": {
            "server": "<name or network address of the SQL server instance>",
            "database": "<database name>",
            "encrypt": "<encrypt>",
            "trustServerCertificate": false,
            "authenticationType": "Windows",
            "userName": "<domain\\username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Örökölt verzió

Az örökölt verzió alkalmazásakor ezek az általános tulajdonságok támogatottak az SQL Serverhez társított Amazon RDS-szolgáltatások esetében:

Tulajdonság Leírás Kötelező
típus A típustulajdonságot AmazonRdsForSqlServer értékre kell állítani. Igen
alwaysEncryptedSettings Adja meg az Always Encrypted engedélyezéséhez szükséges alwaysencryptedsettings-információkat az Amazon RDS for SQL Serverben tárolt bizalmas adatok felügyelt identitás vagy szolgáltatásnév használatával történő védelméhez. További információ: Az Always Encrypted használata szakasz. Ha nincs megadva, az alapértelmezett mindig titkosított beállítás le van tiltva. Nem
connectVia Ez az integrációs modul az adattárhoz való csatlakozásra szolgál. További információ az Előfeltételek szakaszból. Ha nincs megadva, a rendszer az alapértelmezett Azure-integrációs modult használja. Nem

Ez az SQL Server-összekötőhöz készült Amazon RDS a következő hitelesítési típusokat támogatja. Részletekért tekintse meg a megfelelő szakaszokat.

SQL-hitelesítés az örökölt verzióhoz

Az SQL-hitelesítés használatához az előző szakaszban ismertetett általános tulajdonságok mellett adja meg a következő tulajdonságokat:

Tulajdonság Leírás Kötelező
connectionString Adja meg az SQL Server-adatbázishoz készült Amazon RDS-hez való csatlakozáshoz szükséges connectionString-adatokat . Adja meg a felhasználónévként a bejelentkezési nevet, és győződjön meg arról, hogy a csatlakozni kívánt adatbázis megfeleltetve van ehhez a bejelentkezéshez. Igen
jelszó Ha jelszót szeretne elhelyezni az Azure Key Vaultban, húzza ki a konfigurációt password a kapcsolati sztring. További információ: Hitelesítő adatok tárolása az Azure Key Vaultban. Nem

Windows-hitelesítés az örökölt verzióhoz

A Windows-hitelesítés használatához az előző szakaszban ismertetett általános tulajdonságok mellett adja meg a következő tulajdonságokat:

Tulajdonság Leírás Kötelező
connectionString Adja meg az Sql Server-adatbázishoz készült Amazon RDS-hez való csatlakozáshoz szükséges connectionString-adatokat . Igen
Felhasználónév Adjon meg egy felhasználónevet. Ilyen például a tartománynév\felhasználónév. Igen
jelszó Adja meg a felhasználónévhez megadott felhasználói fiók jelszavát. Jelölje meg ezt a mezőt SecureStringként a biztonságos tároláshoz. Hivatkozhat az Azure Key Vaultban tárolt titkos kódokra is. Igen

Adathalmaz tulajdonságai

Az adathalmazok meghatározásához elérhető szakaszok és tulajdonságok teljes listáját az adathalmazokról szóló cikkben találja. Ez a szakasz az SQL Server-adatkészlethez készült Amazon RDS által támogatott tulajdonságok listáját tartalmazza.

Ha adatokat szeretne másolni egy SQL Server-adatbázishoz készült Amazon RDS-ből, a következő tulajdonságok támogatottak:

Tulajdonság Leírás Kötelező
típus Az adathalmaz típustulajdonságának AmazonRdsForSqlServerTable értékre kell állítania. Igen
schema A séma neve. Nem
table A tábla/nézet neve. Nem
tableName A táblázat/nézet neve sémával. Ez a tulajdonság támogatja a visszamenőleges kompatibilitást. Új számítási feladatokhoz használja schema és table. Nem

Példa

{
    "name": "AmazonRdsForSQLServerDataset",
    "properties":
    {
        "type": "AmazonRdsForSqlServerTable",
        "linkedServiceName": {
            "referenceName": "<Amazon RDS for SQL Server linked service name>",
            "type": "LinkedServiceReference"
        },
        "schema": [ < physical schema, optional, retrievable during authoring > ],
        "typeProperties": {
            "schema": "<schema_name>",
            "table": "<table_name>"
        }
    }
}

Másolási tevékenység tulajdonságai

A tevékenységek definiálásához használható szakaszok és tulajdonságok teljes listáját a Folyamatok című cikkben találja. Ez a szakasz az SQL Server-forráshoz készült Amazon RDS által támogatott tulajdonságok listáját tartalmazza.

Az SQL Serverhez készült Amazon RDS forrásként

Tipp.

Ha hatékonyan szeretne adatokat betölteni az SQL Serverhez készült Amazon RDS-ből adatparticionálással, további információt az SQL Database párhuzamos másolásáról tudhat meg.

Ha adatokat szeretne másolni az SQL Serverhez készült Amazon RDS-ből, állítsa be a másolási tevékenység forrástípusát az AmazonRdsForSqlServerSource-ra. A másolási tevékenység forrás szakaszában a következő tulajdonságok támogatottak:

Tulajdonság Leírás Kötelező
típus A másolási tevékenység forrásának típustulajdonságát AmazonRdsForSqlServerSource értékre kell állítani. Igen
sqlReaderQuery Az adatok olvasásához használja az egyéni SQL-lekérdezést. Például: select * from MyTable. Nem
sqlReaderStoredProcedureName 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 SELECT utasításnak kell lennie a tárolt eljárásban. Nem
storedProcedureParameters 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.
Nem
isolationLevel Az SQL-forrás tranzakciózárolási viselkedését adja meg. Az engedélyezett értékek a következők: ReadCommitted, ReadUncommitted, RepeatableRead, Serializable, Snapshot. 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 ezt a dokumentumot. Nem
partitionOptions Megadja az sql serverhez készült Amazon RDS-ből való adatok 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), PhysicalPartitionsOfTable és DynamicRange.
Ha egy partíciós beállítás engedélyezve van (vagyis nem None), a párhuzamosság mértékét, hogy egyidejűleg betöltse az adatokat az Amazon RDS-ből az SQL Serverhez, a parallelCopies másolási tevékenység beállítása szabályozza.
Nem
partitionSettings Adja meg az adatparticionálás beállításainak csoportját.
Akkor alkalmazható, ha a partíciós beállítás nem None.
Nem
A következő alatt partitionSettings:
partitionColumnName Adja meg annak a forrásoszlopnak a nevét egész számban vagy dátum/dátum/idő típusban (int, , smallint, bigint, datesmalldatetime, datetime, , datetime2) , datetimeoffsetamelyet 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.
Akkor alkalmazható, ha a partíció beállítás.DynamicRange 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.
Nem
partitionUpperBound 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.
Akkor alkalmazható, ha a partíció beállítás.DynamicRange Példaként tekintse meg az SQL Database párhuzamos másolatát.
Nem
partitionLowerBound 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.
Akkor alkalmazható, ha a partíció beállítás.DynamicRange Példaként tekintse meg az SQL Database párhuzamos másolatát.
Nem

Vegye figyelembe a következő szempontokat:

  • Ha az sqlReaderQuery az AmazonRdsForSqlServerSource-hoz 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 az sqlReaderStoredProcedureName és a storedProcedureParameters 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.

Példa: SQL-lekérdezés használata

"activities":[
    {
        "name": "CopyFromAmazonRdsForSQLServer",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Amazon RDS for SQL Server input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "AmazonRdsForSqlServerSource",
                "sqlReaderQuery": "SELECT * FROM MyTable"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Példa: Tárolt eljárás használata

"activities":[
    {
        "name": "CopyFromAmazonRdsForSQLServer",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Amazon RDS for SQL Server input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "AmazonRdsForSqlServerSource",
                "sqlReaderStoredProcedureName": "CopyTestSrcStoredProcedureWithParameters",
                "storedProcedureParameters": {
                    "stringData": { "value": "str3" },
                    "identifier": { "value": "$$Text.Format('{0:yyyy}', <datetime parameter>)", "type": "Int"}
                }
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

A tárolt eljárás definíciója

CREATE PROCEDURE CopyTestSrcStoredProcedureWithParameters
(
    @stringData varchar(20),
    @identifier int
)
AS
SET NOCOUNT ON;
BEGIN
    select *
    from dbo.UnitTestSrcTable
    where dbo.UnitTestSrcTable.stringData != stringData
    and dbo.UnitTestSrcTable.identifier != identifier
END
GO

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.

Képernyőkép a partícióbeállításokról

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 parallelCopies tevékenység beállításai vezérlik. Ha például négyre van állítva parallelCopies , 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:
1. A teljes tábla lekérdezése:
SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition
2. 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>
3. Lekérdezés al lekérdezésekkel:
SELECT <column_list> FROM (<your_sub_query>) AS T WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>
4. Lekérdezés a partícióval az alké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:

  1. 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.
  2. Ha a tábla beépített partícióval rendelkezik, a jobb teljesítmény érdekében használja a "Tábla fizikai partíciói" partícióbeállítást.
  3. Ha az Azure Integration Runtime-t használja az adatok másolásához, nagyobb "adatintegráció egységeket (DIU)" (>4) állíthat be a nagyobb számítási erőforrások használatához. Ellenőrizze a vonatkozó forgatókönyveket.
  4. A "másolási párhuzamosság foka" szabályozza a partíciószámokat, a túl nagy szám beállítása néha rontja a teljesítményt, javasoljuk, hogy állítsa be ezt a számot (DIU vagy a saját üzemeltetésű INTEGRÁCIÓs csomópontok száma) * (2–4).

Példa: teljes terhelés nagy táblából fizikai partíciókkal

"source": {
    "type": "AmazonRdsForSqlServerSource",
    "partitionOption": "PhysicalPartitionsOfTable"
}

Példa: lekérdezés dinamikus tartománypartícióval

"source": {
    "type": "AmazonRdsForSqlServerSource",
    "query": "SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>",
    "partitionOption": "DynamicRange",
    "partitionSettings": {
        "partitionColumnName": "<partition_column_name>",
        "partitionUpperBound": "<upper_value_of_partition_column (optional) to decide the partition stride, not as data filter>",
        "partitionLowerBound": "<lower_value_of_partition_column (optional) to decide the partition stride, not as data filter>"
    }
}

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

Keresési tevékenység tulajdonságai

A tulajdonságok részleteinek megismeréséhez tekintse meg a keresési tevékenységet.

GetMetadata tevékenység tulajdonságai

A tulajdonságok részleteinek megismeréséhez ellenőrizze a GetMetadata-tevékenységet

Always Encrypted használata

Amikor adatokat másol az Sql Serverhez készült Amazon RDS-ből vagy az Always Encrypted szolgáltatásba, kövesse az alábbi lépéseket:

  1. Tárolja az oszlop főkulcsát (CMK) egy Azure Key Vaultban. További információ az Always Encrypted Azure Key Vault használatával történő konfigurálásáról

  2. Győződjön meg arról, hogy hozzáférést biztosít ahhoz a kulcstartóhoz, amelyben az oszlop főkulcsa (CMK) található. A szükséges engedélyekért tekintse meg ezt a cikket .

  3. Hozzon létre társított szolgáltatást az SQL-adatbázishoz való csatlakozáshoz, és engedélyezze az "Always Encrypted" függvényt felügyelt identitás vagy szolgáltatásnév használatával.

Kapcsolati problémák hibaelhárítása

  1. Konfigurálja az Sql Server-példányhoz készült Amazon RDS-t távoli kapcsolatok elfogadásához. Indítsa el az SQL Server Management Studióhoz készült Amazon RDS-t, kattintson a jobb gombbal a kiszolgálóra, és válassza a Tulajdonságok lehetőséget. Válassza a Kapcsolatok lehetőséget a listából, és jelölje be a Kiszolgáló távoli kapcsolatainak engedélyezése jelölőnégyzetet.

    Távoli kapcsolatok engedélyezése

    Részletes lépésekért lásd a távelérési kiszolgáló konfigurációs beállításának konfigurálását ismertető cikket.

  2. Indítsa el az Amazon RDS-t SQL Server Konfigurációkezelő. Bontsa ki a kívánt példányhoz tartozó SQL Server hálózati konfigurációhoz készült Amazon RDS-t, és válassza az MSSQLSERVER protokolljait. A protokollok a jobb oldali panelen jelennek meg. A TCP/IP engedélyezéséhez kattintson a jobb gombbal a TCP/IP elemre , és válassza az Engedélyezés lehetőséget.

    TCP/IP engedélyezése

    További információ és a TCP/IP protokoll engedélyezésének alternatív módjai: Kiszolgálói hálózati protokoll engedélyezése vagy letiltása.

  3. Ugyanabban az ablakban kattintson duplán a TCP/IP elemre a TCP/IP-tulajdonságok ablak elindításához.

  4. Váltson az IP-címek lapra. Görgessen le az IPAll szakasz megtekintéséhez. Írja le a TCP-portot. Az alapértelmezett érték 1433.

  5. Hozzon létre egy szabályt a windowsos tűzfalhoz a gépen, amely engedélyezi a bejövő forgalmat ezen a porton keresztül.

  6. Kapcsolat ellenőrzése: Ha az SQL Serverhez készült Amazon RDS-hez teljes névvel szeretne csatlakozni, használja az Amazon RDS-t az SQL Server Management Studióhoz egy másik gépről. Például: "<machine>.<domain>.corp.<company>.com,1433".

Az SQL Serverhez készült Amazon RDS frissítése

Az SQL Serverhez készült Amazon RDS frissítéséhez a Csatolt szolgáltatás szerkesztése lapon válassza az Ajánlott a Verzió területen, és konfigurálja a társított szolgáltatást az ajánlott verzió társított szolgáltatás tulajdonságaira hivatkozva.

Az alábbi táblázat az ajánlott és az örökölt verziót használó, AZ SQL Serverhez készült Amazon RDS közötti különbségeket mutatja be.

Ajánlott verzió Örökölt verzió
TLS 1.3 támogatása a következőképpenstrict: encrypt . A TLS 1.3 nem támogatott.

A másolási tevékenység által forrásként és fogadóként támogatott adattárak listáját lásd : Támogatott adattárak.