Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek popisuje, jak pomocí aktivity kopírování v kanálech Azure Data Factory a Azure Synapse kopírovat data z Amazon RDS pro databázi SQL Serveru. Další informace najdete v úvodním článku pro Azure Data Factory nebo Azure Synapse Analytics.
Poznámka:
Tento konektor je také k dispozici ve službě Data Factory v Microsoft Fabric. Informace o konfiguraci a funkcích specifických pro Fabric najdete v dokumentaci ke konektoru Fabric Amazon RDS pro SQL Server.
Podporované funkce
Tento konektor Amazon RDS pro SQL Server je podporovaný pro následující funkce:
| Podporované funkce | IR |
|---|---|
| Kopírovací aktivita (zdroj/-) | (1) (2) |
| Vyhledávací aktivita | (1) (2) |
| Aktivita GetMetadata | (1) (2) |
| Aktivita uložené procedury | (1) (2) |
(1) Azure Integration Runtime (2) Self-hosted Integration Runtime
Seznam úložišť dat podporovaných jako zdroje nebo jímky aktivitou kopírování najdete v tabulce Podporované úložiště dat.
Konkrétně tento konektor Amazon RDS pro SQL Server podporuje:
- SQL Server verze 2005 a novější
- Kopírování dat s využitím SQL nebo Windows autentizace.
- Jako zdroj načítá data pomocí dotazu SQL nebo uložené procedury. Můžete se také rozhodnout pro paralelní kopírování ze služby Amazon RDS pro zdroj SQL Serveru. Podrobnosti najdete v části Paralelní kopírování z databáze SQL.
SQL Server Express LocalDB není podporován.
Požadavky
Pokud se vaše úložiště dat nachází uvnitř místní sítě, virtuální sítě Azure nebo amazonového privátního cloudu, musíte nakonfigurovat místní prostředí Integration Runtime pro připojení k němu.
Pokud je vaše úložiště dat spravovanou cloudovou datovou službou, můžete použít Azure Integration Runtime. Pokud je přístup omezený na IP adresy schválené v pravidlech brány firewall, můžete do seznamu povolených přidat IP adresy prostředí Azure Integration Runtime.
K přístupu k místní síti bez nutnosti instalace a konfigurace lokálního prostředí Integration Runtime můžete také použít rozhraní integrace spravované virtuální sítě ve službě Azure Data Factory.
Další informace o mechanismech zabezpečení sítě a možnostech podporovaných službou Data Factory najdete v tématu Strategie přístupu k datům.
Začínáme
K provedení aktivity kopírování pomocí datového kanálu můžete použít jeden z následujících nástrojů nebo sad SDK:
- Nástroj pro kopírování dat
- Azure Portal
- .NET SDK
- Python SDK
- Azure PowerShell
- REST API
- Šablona Azure Resource Manageru
Vytvoření propojené služby Amazon RDS pro SQL Server pomocí uživatelského rozhraní
Pomocí následujících kroků vytvořte propojenou službu Amazon RDS pro SQL Server v uživatelském rozhraní webu Azure Portal.
Přejděte na kartu Správa v pracovním prostoru Azure Data Factory nebo Synapse a vyberte Propojené služby a pak klikněte na Nový:
Vyhledejte Amazon RDS pro SQL server a vyberte Amazon RDS pro konektor SQL Serveru.
Nakonfigurujte podrobnosti o službě, otestujte připojení a vytvořte novou propojenou službu.
Podrobnosti konfigurace konektoru
Následující části obsahují podrobnosti o vlastnostech, které se používají k definování entit kanálu Data Factory a Synapse specifických pro konektor databáze Amazon RDS pro SQL Server.
Vlastnosti propojené služby
Doporučená verze konektoru Amazon RDS pro SQL Server podporuje protokol TLS 1.3. Tato část vám ukáže, jak upgradovat verzi konektoru Amazon RDS pro SQL Server z verze Legacy. Podrobnosti vlastností najdete v odpovídajících sekcích.
Poznámka:
Amazon RDS pro SQL Server Always Encrypted se v toku dat nepodporuje.
Tip
Pokud dojde k chybě s kódem chyby UserErrorFailedToConnectToSqlServer a pokud se zobrazí zpráva jako "Limit relace pro databázi je XXX a byl dosažen", přidejte Pooling=false do svého připojovacího řetězce a zkuste to znovu připojit.
Doporučená verze
Tyto obecné vlastnosti jsou podporovány pro propojenou službu Amazon RDS pro SQL Server při použití doporučené verze:
| Vlastnost | Popis | Povinné |
|---|---|---|
| typ | Vlastnost typu musí být nastavena na AmazonRdsForSqlServer. | Ano |
| server | Název nebo síťová adresa instance SQL Serveru, ke které se chcete připojit. | Ano |
| databáze | Název databáze. | Ano |
| typ autentizace | Typ použitý k ověřování. Povolené hodnoty jsou SQL (výchozí), Windows. Přejděte do příslušné části ověřování týkající se konkrétních vlastností a požadavků. | Ano |
| vždyŠifrovanáNastavení | Zadejte informace potřebné k povolení Always Encrypted, které chrání citlivá data uložená v Amazon RDS pro SQL Server pomocí spravované identity nebo služebního účtu. Další informace najdete v příkladu JSON za tabulkou a v části Always Encrypted. Pokud není zadáno, výchozí nastavení "always encrypted" je zakázané. | Ne |
| šifrovat | Určete, jestli je vyžadováno šifrování TLS pro všechna data odesílaná mezi klientem a serverem. Možnosti: povinné (pro true, výchozí)/volitelné (pro false)/přísné. | Ne |
| důvěřovatServerovémuCertifikátu | Určete, jestli bude kanál při obejití řetězu certifikátů zašifrovaný, aby se ověřil vztah důvěryhodnosti. | Ne |
| hostNameInCertificate | Název hostitele, který se má použít při ověřování certifikátu serveru pro připojení. Pokud není zadaný, název serveru se použije k ověření certifikátu. | Ne |
| connectVia | Tento Integration Runtime slouží k připojení k úložišti dat. Další informace najdete v části Požadavky . Pokud není zadaný, použije se výchozí prostředí Azure Integration Runtime. | Ne |
Další vlastnosti připojení najdete v následující tabulce:
| Vlastnost | Popis | Povinné |
|---|---|---|
| účel aplikace | Typ úlohy aplikace při připojování k serveru. Povolené hodnoty jsou ReadOnly a ReadWrite. |
Ne |
| Připojovací časový limit (connectTimeout) | Doba (v sekundách) čekání na připojení k serveru před ukončením pokusu a vygenerováním chyby. | Ne |
| početPokusuOPřipojení | Počet pokusů o opětovné připojení po identifikaci selhání připojení při nečinnosti. Hodnota by měla být celé číslo mezi 0 a 255. | Ne |
| connectRetryInterval (interval opakování připojení) | Doba (v sekundách) mezi jednotlivými pokusy o opětovné připojení po identifikaci selhání nečinného připojení. Hodnota by měla být celé číslo mezi 1 a 60. | Ne |
| loadBalanceTimeout | Minimální doba (v sekundách), po kterou má připojení zůstat aktivní ve fondu připojení před jeho ukončením. | Ne |
| časový limit příkazu | Výchozí doba čekání (v sekundách) před ukončením pokusu o spuštění příkazu a vygenerováním chyby. | Ne |
| integrované zabezpečení | Povolené hodnoty jsou true nebo false. Při zadávání false uveďte, zda jsou v připojení zadány uživatelské jméno a heslo. Při zadávání trueurčuje, jestli se k ověřování používají aktuální přihlašovací údaje účtu Systému Windows. |
Ne |
| failoverPartner | Název nebo adresa partnerského serveru, ke kterému se má připojit, pokud je primární server v výpadku. | Ne |
| maxPoolSize | Maximální počet připojení povolených ve fondu připojení pro konkrétní připojení. | Ne |
| minimálníVelikostPoolu | Minimální počet připojení povolených ve fondu připojení pro konkrétní připojení. | Ne |
| multipleActiveResultSets | Povolené hodnoty jsou true nebo false. Při zadávání truemůže aplikace udržovat více aktivních sad výsledků (MARS). Když zadáte false, aplikace musí zpracovat nebo zrušit všechny sady výsledků z jedné dávky, aby bylo možné v daném připojení spustit jakékoli jiné dávky. |
Ne |
| multiSubnetFailover | Povolené hodnoty jsou true nebo false. Pokud se vaše aplikace připojuje ke skupině dostupnosti AlwaysOn v různých podsítích, nastavením této vlastnosti true zajistíte rychlejší detekci a připojení k aktuálně aktivnímu serveru. |
Ne |
| velikost paketu | Velikost v bajtech síťových paketů používaných ke komunikaci s instancí serveru. | Ne |
| sdružování | Povolené hodnoty jsou true nebo false. Po zadání true bude připojení zařazeno do fondu. Když zadáte false, připojení se explicitně otevře při každém vyžádání připojení. |
Ne |
Ověřování SQL
Pokud chcete použít ověřování SQL, kromě obecných vlastností popsaných v předchozí části zadejte následující vlastnosti:
| Vlastnost | Popis | Povinné |
|---|---|---|
| userName | Uživatelské jméno použité pro připojení k serveru. | Ano |
| heslo | Heslo pro uživatelské jméno. Označte toto pole jako SecureString , abyste ho bezpečně uložili. Nebo můžete odkazovat na tajný klíč uložený ve službě Azure Key Vault. | Ano |
Příklad: Použití ověřování SQL
{
"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říklad: Použití ověřování SQL s heslem ve službě Azure Key Vault
{
"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říklad: Použití funkce Always Encrypted
{
"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"
}
}
}
Ověřování systému Windows
Pokud chcete použít ověřování systému Windows, kromě obecných vlastností popsaných v předchozí části zadejte následující vlastnosti:
| Vlastnost | Popis | Povinné |
|---|---|---|
| userName | Zadejte uživatelské jméno. Příkladem je název_domény\uživatelské_jméno. | Ano |
| heslo | Zadejte heslo pro uživatelský účet, který jste zadali pro uživatelské jméno. Označte toto pole jako SecureString , abyste ho bezpečně uložili. Nebo můžete odkazovat na tajný klíč uložený ve službě Azure Key Vault. | Ano |
Příklad: Použití ověřování systému Windows
{
"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"
}
}
}
Starší verze
Tyto obecné vlastnosti jsou podporovány pro propojenou službu Amazon RDS pro SQL Server při použití legacy verze:
| Vlastnost | Popis | Povinné |
|---|---|---|
| typ | Vlastnost typu musí být nastavena na AmazonRdsForSqlServer. | Ano |
| vždyŠifrovanáNastavení | Zadejte informace potřebné k povolení Always Encrypted, které chrání citlivá data uložená v Amazon RDS pro SQL Server pomocí spravované identity nebo služebního účtu. Další informace najdete v části Použití funkce Always Encrypted . Pokud není zadáno, výchozí nastavení "always encrypted" je zakázané. | Ne |
| connectVia | Tento Integration Runtime slouží k připojení k úložišti dat. Další informace najdete v části Požadavky . Pokud není zadaný, použije se výchozí prostředí Azure Integration Runtime. | Ne |
Tento konektor Amazon RDS pro SQL Server podporuje následující typy ověřování. Podrobnosti najdete v odpovídajících částech.
Ověřování SQL pro starší verzi
Pokud chcete použít ověřování SQL, kromě obecných vlastností popsaných v předchozí části zadejte následující vlastnosti:
| Vlastnost | Popis | Povinné |
|---|---|---|
| připojovací řetězec | Zadejte informace o připojovacím řetězce , které jsou potřeba pro připojení k databázi Amazon RDS pro SQL Server. Zadejte přihlašovací jméno jako uživatelské jméno a ujistěte se, že databáze, ke které se chcete připojit, je namapovaná na toto přihlášení. | Ano |
| heslo | Pokud chcete vložit heslo do služby Azure Key Vault, vytáhněte password konfiguraci z připojovacího řetězce. Další informace najdete v tématu Ukládání přihlašovacích údajů ve službě Azure Key Vault. |
Ne |
Ověřování systému Windows pro starší verzi
Pokud chcete použít ověřování systému Windows, kromě obecných vlastností popsaných v předchozí části zadejte následující vlastnosti:
| Vlastnost | Popis | Povinné |
|---|---|---|
| připojovací řetězec | Zadejte informace o připojovacím řetězce , které jsou potřeba pro připojení k databázi Amazon RDS pro SQL Server. | Ano |
| userName | Zadejte uživatelské jméno. Příkladem je název_domény\uživatelské_jméno. | Ano |
| heslo | Zadejte heslo pro uživatelský účet, který jste zadali pro uživatelské jméno. Označte toto pole jako SecureString , abyste ho bezpečně uložili. Nebo můžete odkazovat na tajný klíč uložený ve službě Azure Key Vault. | Ano |
Vlastnosti datové sady
Úplný seznam oddílů a vlastností dostupných pro definování datových sad najdete v článku o datových sadách . Tato část obsahuje seznam vlastností podporovaných službou Amazon RDS pro datovou sadu SQL Serveru.
Pokud chcete kopírovat data z databáze Amazon RDS pro databázi SQL Serveru, podporují se následující vlastnosti:
| Vlastnost | Popis | Povinné |
|---|---|---|
| typ | Vlastnost typu datové sady musí být nastavena na AmazonRdsForSqlServerTable. | Ano |
| schéma | Název schématu | Ne |
| tabulka | Název tabulky nebo zobrazení | Ne |
| tableName | Název tabulky nebo zobrazení se schématem Tato vlastnost je podporována pro zpětnou kompatibilitu. Pro nové úlohy použijte schema a table. |
Ne |
Příklad
{
"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>"
}
}
}
Vlastnosti aktivity kopírování
Úplný seznam oddílů a vlastností dostupných k definování aktivit najdete v článku Pipelines . Tato část obsahuje seznam vlastností podporovaných službou Amazon RDS pro zdroj SQL Serveru.
Amazon RDS pro SQL Server jako zdroj
Tip
Pokud chcete efektivně načítat data z Amazon RDS pro SQL Server pomocí dělení dat, přečtěte si další informace z Paralelní kopie z databáze SQL.
Pokud chcete kopírovat data z Amazon RDS pro SQL Server, nastavte typ zdroje v aktivitě kopírování na AmazonRdsForSqlServerSource. Ve zdrojové části aktivity kopírování jsou podporovány následující vlastnosti:
| Vlastnost | Popis | Povinné |
|---|---|---|
| typ | Vlastnost typu zdroje aktivity kopírování musí být nastavena na AmazonRdsForSqlServerSource. | Ano |
| sqlReaderQuery | Ke čtení dat použijte vlastní dotaz SQL. Příklad: select * from MyTable. |
Ne |
| sqlReaderStoredProcedureName | Tato vlastnost je název uložené procedury, která čte data ze zdrojové tabulky. Poslední příkaz SQL musí být příkaz SELECT v uložené proceduře. | Ne |
| parametry uložené procedury | Tyto parametry jsou určené pro uloženou proceduru. Povolené hodnoty jsou dvojice názvů nebo hodnot. Názvy a velikost písmen parametrů musí odpovídat názvům a velikostem písmen parametrů uložené procedury. |
Ne |
| úroveň izolace | Určuje chování uzamčení transakce pro zdroj SQL. Povolené hodnoty jsou: ReadCommitted, ReadUncommitted, RepeatableRead, Serializable, Snapshot. Pokud není zadáno, použije se výchozí úroveň izolace databáze. Další podrobnosti najdete v tomto dokumentu . | Ne |
| možnosti oddílu | Určuje možnosti dělení dat používané k načtení dat z Amazon RDS pro SQL Server. Povolené hodnoty jsou: None (výchozí), PhysicalPartitionsOfTable a DynamicRange. Pokud je povolená možnost oddílu (tj. ne None), stupeň paralelismu souběžného načítání dat z Amazon RDS pro SQL Server je řízen parallelCopies nastavením aktivity kopírování. |
Ne |
| nastavení oddílu | Zadejte skupinu nastavení pro dělení dat. Použít, pokud možnost oddílu není None. |
Ne |
V části partitionSettings: |
||
| název sloupce pro dělení (partitionColumnName) | Zadejte název zdrojového sloupce v typu celé číslo nebo date/datetime (int, smallint, bigint, date, smalldatetime, datetime, datetime2 nebo datetimeoffset), který bude použit dělením rozsahu pro paralelní kopírování. Pokud není zadán, index nebo primární klíč tabulky se automaticky rozpozná a použije jako partiční sloupec.Použít, pokud je možnost oddílu DynamicRange. Pokud k načtení zdrojových dat použijete dotaz, začněte s ?DfDynamicRangePartitionCondition v klauzuli WHERE. Příklad najdete v části Paralelní kopírování z databáze SQL. |
Ne |
| partitionUpperBound | Maximální hodnota sloupce oddílu pro rozdělení rozsahu oddílu. Tato hodnota se používá k určení kroku oddílu, nikoli k filtrování řádků v tabulce. Všechny řádky v tabulce nebo výsledku dotazu se rozdělí a zkopírují. Pokud není zadáno, aktivita kopírování automaticky rozpozná hodnotu. Použít, pokud je možnost oddílu DynamicRange. Příklad najdete v části Paralelní kopírování z databáze SQL. |
Ne |
| partitionLowerBound | Minimální hodnota sloupce oddílu pro rozdělení rozsahů. Tato hodnota se používá k určení kroku oddílu, nikoli k filtrování řádků v tabulce. Všechny řádky v tabulce nebo výsledku dotazu se rozdělí a zkopírují. Pokud není zadáno, aktivita kopírování automaticky rozpozná hodnotu. Použít, pokud je možnost oddílu DynamicRange. Příklad najdete v části Paralelní kopírování z databáze SQL. |
Ne |
Je třeba počítat s následujícím:
- Pokud je pro AmazonRdsForSqlServerSource zadán sqlReaderQuery, aktivita kopírování spustí tento dotaz na Amazon RDS pro zdroj SQL Serveru, aby získala data. Uloženou proceduru můžete také zadat zadáním sqlReaderStoredProcedureName a storedProcedureParameters , pokud uložená procedura přebírá parametry.
- Při použití uložené procedury ve zdroji k načtení dat si všimněte, že uložená procedura je navržena jako vrácení jiného schématu, pokud je předána jiná hodnota parametru, může dojít k selhání nebo může dojít k neočekávanému výsledku při importu schématu z uživatelského rozhraní nebo při kopírování dat do databáze SQL s automatickým vytvořením tabulky.
Příklad: Použití dotazu SQL
"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říklad: Použití uložené procedury
"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>"
}
}
}
]
Definice uložené procedury
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
Paralelní kopírování z databáze SQL
Konektor Amazon RDS pro SQL Server v aktivitě kopírování poskytuje integrované dělení dat pro paralelní kopírování dat. Možnosti dělení dat najdete na kartě Zdroj kopírovací aktivity.
Když povolíte dělené kopírování, aktivita kopírování spouští paralelní dotazy na zdroj Amazon RDS pro zdroj SQL Serveru pro načtení dat podle oddílů. Paralelní stupeň se řídí nastavením aktivity kopírování parallelCopies. Pokud například nastavíte parallelCopies hodnotu čtyři, služba souběžně vygeneruje a spouští čtyři dotazy na základě zadané možnosti a nastavení oddílu a každý dotaz načte část dat z Amazon RDS pro SQL Server.
Doporučujeme povolit paralelní kopírování s dělením dat, zejména pokud načítáte velké množství dat z Amazon RDS pro SQL Server. Následující konfigurace jsou navržené pro různé scénáře. Při kopírování dat do souborového úložiště dat se doporučuje zapisovat do složky jako více souborů (zadat pouze název složky), v takovém případě je výkon lepší než zápis do jednoho souboru.
| Scénář | Navrhovaná nastavení |
|---|---|
| Načtení všech dat z velké tabulky s fyzickými partícemi |
Možnost oddílu: Fyzické oddíly tabulky. Během provádění služba automaticky rozpozná fyzické oddíly a kopíruje data podle oddílů. Pokud chcete zkontrolovat, jestli má vaše tabulka fyzický oddíl, můžete použít tento dotaz. |
| Úplné načtení z velké tabulky bez fyzického dělení, ale s využitím celočíselného nebo datetime sloupce pro dělení dat. |
Možnosti oddílu: Dynamický rozsah oddílu Sloupec pro oddílování (volitelné): Zadejte sloupec použitý pro oddílování dat. Pokud není zadaný, použije se sloupec primárního klíče. Horní mez oddílu a dolní mez oddílu (volitelné): Určete, jestli chcete určit krok oddílu. To není pro filtrování řádků v tabulce, všechny řádky v tabulce budou rozděleny a zkopírovány. Pokud není zadáno, aktivita kopírování automaticky zjistí hodnoty a může trvat dlouhou dobu v závislosti na hodnotách MIN a MAX. Doporučuje se zadat horní mez a dolní mez. Pokud má například sloupec oddílu ID hodnoty od 1 do 100 a dolní mez nastavíte jako 20 a horní mez jako 80, přičemž paralelní kopírování je 4, služba načte data o 4 oddílech – ID v rozsahu <=20, [21, 50], [51, 80] a >=81. |
| Načtěte velké množství dat pomocí vlastního dotazu bez fyzického dělení, s použitím celočíselného sloupce nebo sloupce s datem či datem a časem pro rozdělení dat. |
Možnosti oddílu: Dynamický rozsah oddílu Dotaz: SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>.Sloupec pro rozdělení: Zadejte sloupec použitý k rozdělení dat. Horní mez oddílu a dolní mez oddílu (volitelné): Určete, jestli chcete určit krok oddílu. To není pro filtrování řádků v tabulce, všechny řádky ve výsledku dotazu budou rozděleny a zkopírovány. Pokud není zadáno, aktivita kopírování automaticky rozpozná hodnotu. Pokud má například sloupec oddílu 'ID' hodnoty od 1 do 100 a dolní mez nastavíte jako 20 a horní mez 80, s paralelním kopírováním nastaveným na 4, služba načte data pomocí 4 oddílů s ID v rozsahu <=20, [21, 50], [51, 80] a >=81. Tady jsou další ukázkové dotazy pro různé scénáře: 1. Dotaz na celou tabulku: SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition2. Dotaz z tabulky s výběrem sloupce a dalšími filtry klauzule where: SELECT <column_list> FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>3. Dotaz s poddotazy: SELECT <column_list> FROM (<your_sub_query>) AS T WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>4. Dotaz s partiční v poddotazu: SELECT <column_list> FROM (SELECT <your_sub_query_column_list> FROM <TableName> WHERE ?DfDynamicRangePartitionCondition) AS T |
Osvědčené postupy pro načtení dat s možností dělení:
- Zvolte výrazný sloupec jako sloupec oddílu (například primární klíč nebo jedinečný klíč), abyste se vyhnuli nerovnoměrné distribuci dat.
- Pokud má tabulka vestavěný oddíl, použijte možnost "Fyzické oddíly tabulky" ke zlepšení výkonu.
- Pokud ke kopírování dat používáte Prostředí Azure Integration Runtime, můžete nastavit větší počet jednotek Integrace Dat (DIU) (>4) a využít tak více výpočetních prostředků. Zkontrolujte tam příslušné scénáře.
- "Stupeň paralelismu kopírování" určuje počet oddílů; pokud je tato hodnota nastavena příliš vysoko, může někdy snížit výkon. Doporučujeme nastavit tuto hodnotu na (DIU nebo počet uzlů místního prostředí IR) krát (2 až 4)."
Příklad: Úplné načtení z velké tabulky s fyzickými oddíly
"source": {
"type": "AmazonRdsForSqlServerSource",
"partitionOption": "PhysicalPartitionsOfTable"
}
Příklad: Dotaz s particí dynamického rozsahu
"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>"
}
}
Ukázkový dotaz pro kontrolu fyzického oddílu
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]'
Pokud má tabulka fyzické rozdělení, zobrazí se "HasPartition" jako "ano", jak je vidět níže.
Mapování datových typů pro Amazon RDS pro SQL Server
Při kopírování dat z Amazon RDS pro SQL Server se následující mapování používají z Amazon RDS pro datové typy SQL Serveru k dočasným datovým typům používaným službou interně. Podívejte se na mapování schémat a datových typů, abyste se dozvěděli, jak aktivita kopírování mapuje zdrojové schéma a datový typ na cíl.
| Amazon RDS pro datový typ SQL Serveru | Dočasný datový typ služby |
|---|---|
| bigint | Int64 |
| binární | Bajt[] |
| bit | logický |
| char | Řetězec, Znak[] |
| date | DateTime |
| Datum a čas | DateTime |
| datetime2 | DateTime |
| Datetimeoffset | DateTimeOffset |
| Decimal | Decimal |
| Atribut FILESTREAM (varbinary(max)) | Bajt[] |
| Plovat | Double |
| bitová kopie | Bajt[] |
| int | Int32 |
| peníze | Decimal |
| nchar | Řetězec, Znak[] |
| ntext | Řetězec, Znak[] |
| číselný | Decimal |
| nvarchar | Řetězec, Znak[] |
| real | Single |
| verze řádku | Bajt[] |
| smalldatetime | DateTime |
| smallint | Int16 |
| drobné peníze | Decimal |
| sql_variant | Object |
| poslat SMS | Řetězec, Znak[] |
| time | TimeSpan |
| časové razítko | Bajt[] |
| tinyint | Int16 |
| uniqueidentifier | Průvodce |
| varbinary | Bajt[] |
| Varchar | Řetězec, Znak[] |
| xml | String |
Poznámka:
U datových typů mapovaných na dočasný typ Decimal aktuálně aktivita Copy podporuje přesnost až 28. Pokud máte data, která vyžadují přesnost větší než 28, zvažte převod na řetězec v dotazu SQL.
Při kopírování dat z Amazon RDS pro SQL Server pomocí Azure Data Factory se bitový datový typ mapuje na logický dočasný datový typ. Pokud máte data, která je potřeba uchovávat jako datový typ bitu, použijte dotazy s T-SQL CAST nebo CONVERT.
Vlastnosti aktivity vyhledávání
Zjistit podrobnosti o vlastnostech můžete v aktivitě Vyhledávání.
Vlastnosti aktivity GetMetadata
Podrobnosti o vlastnostech najdete v aktivitě GetMetadata.
Použití funkce Always Encrypted
Při kopírování dat z/do Amazon RDS pro SQL Server s funkcí Always Encrypted postupujte následovně:
Uložte hlavní klíč sloupce (CMK) ve službě Azure Key Vault. Další informace o konfiguraci funkce Always Encrypted pomocí služby Azure Key Vault
Nezapomeňte udělit přístup k trezoru klíčů, kde je uložený hlavní klíč sloupce (CMK ). Požadovaná oprávnění najdete v tomto článku .
Vytvořte propojenou službu pro připojení k databázi SQL a povolte funkci 'Always Encrypted' pomocí spravované identity nebo služebního principálu.
Odstraňování potíží s připojením
Nakonfigurujte službu Amazon RDS pro instanci SQL Serveru tak, aby přijímala vzdálená připojení. Spusťte Amazon RDS pro SQL Server Management Studio, klikněte pravým tlačítkem myši na server a vyberte Vlastnosti. V seznamu vyberte Připojení a zaškrtněte políčko Povolit vzdálená připojení k tomuto serveru.
Podrobný postup najdete v tématu Konfigurace možnosti konfigurace serveru vzdáleného přístupu.
Spusťte Amazon RDS pro SQL Server Configuration Manager. Rozbalte Amazon RDS pro konfiguraci sítě SQL Serveru pro požadovanou instanci a vyberte Protokoly pro MSSQLSERVER. Protokoly se zobrazí v pravém podokně. Povolte tcp/IP tak, že kliknete pravým tlačítkem na TCP/IP a vyberete Povolit.
Další informace a alternativní způsoby povolení protokolu TCP/IP naleznete v tématu Povolení nebo zakázání síťového protokolu serveru.
Ve stejném okně poklikejte na tcp/IP a spusťte okno Vlastnosti protokolu TCP/IP.
Přepněte na záložku IP Addresses. Posuňte se dolů, abyste viděli část IPAll. Napište si TCP port. Výchozí hodnota je 1433.
Vytvořte pravidlo pro bránu Windows Firewall na počítači, které povolí příchozí provoz přes tento port.
Ověřte připojení: Pokud se chcete připojit k Amazon RDS pro SQL Server pomocí plně kvalifikovaného názvu, použijte Amazon RDS pro SQL Server Management Studio z jiného počítače. Příklad:
"<machine>.<domain>.corp.<company>.com,1433".
Aktualizujte verzi Amazon RDS pro SQL Server
Pokud chcete upgradovat Amazon RDS pro verzi SQL Serveru, vyberte na stránce Upravit propojenou službu v části Doporučená verze a nakonfigurujte propojenou službu podle vlastností propojené služby pro doporučenou verzi.
Rozdíly mezi doporučenou a starší verzí
Následující tabulka ukazuje rozdíly mezi Amazon RDS pro SQL Server s využitím doporučené a starší verze.
| Doporučená verze | Starší verze |
|---|---|
Podpora protokolu TLS 1.3 prostřednictvím encrypt jako strict. |
Protokol TLS 1.3 se nepodporuje. |
Související obsah
Seznam úložišť dat podporovaných jako zdroje a cíle pro aktivitu kopírování najdete v tématu Podporované úložiště dat.