Een zelf-hostende IR configureren als proxy voor een Azure-SSIS IR
VAN TOEPASSING OP: Azure Data Factory Azure Synapse Analytics
Tip
Probeer Data Factory uit in Microsoft Fabric, een alles-in-één analyseoplossing voor ondernemingen. Microsoft Fabric omvat alles, van gegevensverplaatsing tot gegevenswetenschap, realtime analyses, business intelligence en rapportage. Meer informatie over het gratis starten van een nieuwe proefversie .
In dit artikel wordt beschreven hoe u SSIS-pakketten (SQL Server Integration Services) uitvoert op een Azure-SSIS Integration Runtime (Azure-SSIS IR) met een zelf-hostende Integration Runtime (zelf-hostende IR) die is geconfigureerd als een proxy.
Met deze functie hebt u toegang tot gegevens en kunt u taken on-premises uitvoeren zonder dat u uw Azure-SSIS IR hoeft toe te voegen aan een virtueel netwerk. De functie is handig wanneer uw bedrijfsnetwerk een configuratie te complex heeft of een beleid dat te beperkend is voor u om uw Azure-SSIS IR erin te injecteren.
Deze functie kan momenteel alleen worden ingeschakeld op SSIS Gegevensstroom Taak en SQL-/procestaken uitvoeren.
In Gegevensstroom taak wordt deze functie onderverdeeld in twee faseringstaken, indien van toepassing:
- On-premises faseringstaak: met deze taak wordt uw gegevensstroomonderdeel uitgevoerd dat verbinding maakt met een on-premises gegevensarchief op uw zelf-hostende IR. Hiermee worden gegevens uit het on-premises gegevensarchief verplaatst naar een faseringsgebied in uw Azure Blob Storage of omgekeerd.
- Faseringstaak in de cloud: met deze taak wordt uw gegevensstroomonderdeel uitgevoerd dat geen verbinding maakt met een on-premises gegevensarchief op uw Azure-SSIS IR. Hiermee worden gegevens verplaatst van het faseringsgebied in uw Azure Blob Storage naar een gegevensarchief in de cloud of omgekeerd.
Als uw Gegevensstroom taak gegevens verplaatst van on-premises naar de cloud, zijn de eerste en tweede faseringstaken respectievelijk on-premises en cloudfaseringstaken. Als uw Gegevensstroom taak gegevens verplaatst van de cloud naar on-premises, zijn de eerste en tweede faseringstaken respectievelijk cloud- en on-premises faseringstaken. Als uw Gegevensstroom taak gegevens verplaatst van on-premises naar on-premises, zijn de eerste en tweede faseringstaken beide on-premises faseringstaken. Als uw Gegevensstroom taak gegevens verplaatst van de cloud naar de cloud, is deze functie niet van toepassing.
Ingeschakeld voor het uitvoeren van SQL/procestaken, wordt deze functie uitgevoerd op uw zelf-hostende IR.
Met andere voordelen en mogelijkheden van deze functie kunt u bijvoorbeeld uw zelf-hostende IR instellen in regio's die nog niet worden ondersteund door een Azure-SSIS IR en het openbare statische IP-adres van uw zelf-hostende IR toestaan op de firewall van uw gegevensbronnen.
De zelf-hostende IR voorbereiden
Als u deze functie wilt gebruiken, maakt u eerst een data factory en stelt u daarin een Azure-SSIS IR in. Als u dit nog niet hebt gedaan, volgt u de instructies in Een Azure-SSIS IR instellen.
Vervolgens stelt u uw zelf-hostende IR in dezelfde data factory in waar uw Azure-SSIS IR is ingesteld. Zie Hiervoor een zelf-hostende IR maken.
Ten slotte downloadt en installeert u de nieuwste versie van zelf-hostende IR, evenals de extra stuurprogramma's en runtime, op uw on-premises machine of virtuele Azure-machine (VM), als volgt:
Download en installeer de nieuwste versie van zelf-hostende IR.
Schakel de uitvoering van het SSIS-pakket in op het zelf-hostende Integration Runtime-knooppunt als de zelf-hostende IR-versie 5.28.0 of hoger is.
De eigenschap ExecuteSsisPackage is nieuw geïntroduceerd vanuit zelf-hostende IR-versie 5.28.0. Gebruik onderstaande zelf-hostende IR-opdrachtregelactie om uitvoering van SSIS-pakketten in of uit te schakelen:
-EnableExecuteSsisPackage Enable SSIS package execution on self-hosted IR node.
-DisableExecuteSsisPackage SSIS-pakketuitvoering uitschakelen op zelf-hostend IR-knooppunt.
-GetExecuteSsisPackage
Zelf-hostende IR-opdrachtregeldetails verwijzen naar het instellen van een bestaande zelf-hostende IR via lokale PowerShell.
Nieuw geïnstalleerd zelf-hostend IR-knooppunt met versie 5.28.0 of hoger, de eigenschap ExecuteSsisPackage is standaard uitgeschakeld.
Het bestaande zelf-hostende IR-knooppunt is bijgewerkt naar versie 5.28.0 of hoger. De eigenschap ExecuteSsisPackage is standaard ingeschakeld
Als u Object Linking and Embedding Database (OLEDB), Open Database Connectivity (ODBC) of ADO.NET connectors in uw pakketten gebruikt, downloadt en installeert u de relevante stuurprogramma's op dezelfde computer waarop uw zelf-hostende IR is geïnstalleerd, als u dit nog niet hebt gedaan.
Als u de eerdere versie van het OLEDB-stuurprogramma voor SQL Server (SQL Server Native Client [SQLNCLI]) gebruikt, downloadt u de 64-bits versie.
Als u de nieuwste versie van het OLEDB-stuurprogramma voor SQL Server (MSOLEDBSQL) gebruikt, downloadt u de 64-bits versie.
Als u OLEDB/ODBC/ADO.NET-stuurprogramma's gebruikt voor andere databasesystemen, zoals PostgreSQL, MySQL, Oracle, enzovoort, kunt u de 64-bits versies downloaden van hun websites.
Als u gegevensstroomonderdelen uit Azure Feature Pack in uw pakketten gebruikt, downloadt en installeert u Azure Feature Pack voor SQL Server 2017 op dezelfde computer waarop uw zelf-hostende IR is geïnstalleerd, als u dit nog niet hebt gedaan.
Als u dit nog niet hebt gedaan, downloadt en installeert u de 64-bits versie van Visual C++ (VC) runtime op dezelfde computer waarop uw zelf-hostende IR is geïnstalleerd.
Windows-verificatie inschakelen voor on-premises taken
Als on-premises faseringstaken en SQL/procestaken uitvoeren op uw zelf-hostende IR Windows-verificatie vereisen, moet u ook de Functie Windows-verificatie configureren op uw Azure-SSIS IR.
Uw on-premises faseringstaken en SQL-/procestaken uitvoeren worden aangeroepen met het zelf-hostende IR-serviceaccount (standaard NT SERVICE\DIAHostService) en uw gegevensarchieven worden geopend met het Windows-verificatieaccount. Voor beide accounts moeten bepaalde beveiligingsbeleidsregels worden toegewezen. Ga op de zelf-hostende IR-computer naar Lokaal beveiligingsbeleid>lokale beleidstoewijzing voor>gebruikersrechten en ga vervolgens als volgt te werk:
Wijs de quota voor het geheugen aanpassen voor een proces toe en vervang een tokenbeleid op procesniveau aan het zelf-hostende IR-serviceaccount. Dit moet automatisch gebeuren wanneer u uw zelf-hostende IR installeert met het standaardserviceaccount. Als dit niet het probleem is, wijst u deze beleidsregels handmatig toe. Als u een ander serviceaccount gebruikt, wijst u hetzelfde beleid toe.
Wijs het beleid Aanmelden als een service toe aan het Windows-verificatieaccount.
De gekoppelde Azure Blob Storage-service voorbereiden voor fasering
Als u dit nog niet hebt gedaan, maakt u een gekoppelde Azure Blob Storage-service in dezelfde data factory waar uw Azure-SSIS IR is ingesteld. Zie Hiervoor een gekoppelde Azure Data Factory-service maken. Zorg ervoor dat u het volgende doet:
- Voor Gegevensopslag selecteert u Azure Blob Storage.
- Voor Verbinding maken via integration runtime selecteert u AutoResolveIntegrationRuntime (niet uw zelf-hostende IR), zodat we deze kunnen negeren en uw Azure-SSIS IR gebruiken om toegangsreferenties voor uw Azure Blob Storage op te halen.
- Selecteer voor verificatiemethode accountsleutel, SAS-URI, service-principal, beheerde identiteit of door de gebruiker toegewezen beheerde identiteit.
Tip
Als uw data factory-exemplaar Git is ingeschakeld, wordt een gekoppelde service zonder sleutelverificatie niet onmiddellijk gepubliceerd. Dit betekent dat u de integratieruntime die afhankelijk is van de gekoppelde service in uw functievertakking niet kunt opslaan. Verificatie met accountsleutel of SAS-URI publiceert de gekoppelde service onmiddellijk.
Tip
Als u de methode Service-principal selecteert, moet u uw service-principal ten minste de rol Inzender voor opslagblobgegevens verlenen. Zie De Azure Blob Storage-connector voor meer informatie. Als u de door de /gebruiker toegewezen beheerde identiteit van beheerde identiteit selecteert, verleent u de opgegeven door het systeem/door de gebruiker toegewezen beheerde identiteit voor uw ADF een juiste rol voor toegang tot Azure Blob Storage. Zie Toegang tot Azure Blob Storage met behulp van Microsoft Entra-verificatie met de opgegeven door het systeem/door de gebruiker toegewezen beheerde identiteit voor uw ADF voor meer informatie.
Een Azure-SSIS IR configureren met uw zelf-hostende IR als proxy
Nadat u uw zelf-hostende IR en gekoppelde Azure Blob Storage-service voor fasering hebt voorbereid, kunt u nu uw nieuwe of bestaande Azure-SSIS IR configureren met de zelf-hostende IR als proxy in uw data factory-portal of -app. Voordat u dit doet, kunt u echter stoppen, bewerken en opnieuw opstarten als uw bestaande Azure-SSIS IR al wordt uitgevoerd.
Ga in het installatievenster van Integration Runtime verder dan de pagina's Algemene instellingen en Implementatie-instellingen door de knop Doorgaan te selecteren.
Ga als volgt te werk op de pagina Geavanceerde instellingen :
Schakel het selectievakje Zelf-hostende Integration Runtime instellen in als proxy voor uw Azure-SSIS Integration Runtime .
Selecteer in de vervolgkeuzelijst Zelf-hostende Integration Runtime uw bestaande zelf-hostende IR als proxy voor de Azure-SSIS IR.
Selecteer in de vervolgkeuzelijst Voor faseringsopslag gekoppelde service uw bestaande gekoppelde Azure Blob Storage-service of maak een nieuwe voor fasering.
Geef in het vak Faseringspad een blobcontainer op in uw geselecteerde Azure Storage-account of laat deze leeg om een standaardcontainer te gebruiken voor fasering.
Klik op de knop Doorgaan.
U kunt uw nieuwe of bestaande Azure-SSIS IR ook configureren met de zelf-hostende IR als proxy met behulp van PowerShell.
$ResourceGroupName = "[your Azure resource group name]"
$DataFactoryName = "[your data factory name]"
$AzureSSISName = "[your Azure-SSIS IR name]"
# Self-hosted integration runtime info - This can be configured as a proxy for on-premises data access
$DataProxyIntegrationRuntimeName = "" # OPTIONAL to configure a proxy for on-premises data access
$DataProxyStagingLinkedServiceName = "" # OPTIONAL to configure a proxy for on-premises data access
$DataProxyStagingPath = "" # OPTIONAL to configure a proxy for on-premises data access
# Add self-hosted integration runtime parameters if you configure a proxy for on-premises data access
if(![string]::IsNullOrEmpty($DataProxyIntegrationRuntimeName) -and ![string]::IsNullOrEmpty($DataProxyStagingLinkedServiceName))
{
Set-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $ResourceGroupName `
-DataFactoryName $DataFactoryName `
-Name $AzureSSISName `
-DataProxyIntegrationRuntimeName $DataProxyIntegrationRuntimeName `
-DataProxyStagingLinkedServiceName $DataProxyStagingLinkedServiceName
if(![string]::IsNullOrEmpty($DataProxyStagingPath))
{
Set-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $ResourceGroupName `
-DataFactoryName $DataFactoryName `
-Name $AzureSSISName `
-DataProxyStagingPath $DataProxyStagingPath
}
}
Start-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $ResourceGroupName `
-DataFactoryName $DataFactoryName `
-Name $AzureSSISName `
-Force
SSIS-pakketten inschakelen voor het gebruik van een proxy
Door de nieuwste SSDT te gebruiken als de SSIS Projects-extensie voor Visual Studio of een zelfstandig installatieprogramma, kunt u een nieuwe ConnectByProxy
eigenschap vinden in de verbindingsbeheerders voor ondersteunde gegevensstroomonderdelen en ExecuteOnProxy
-eigenschap in SQL/Procestaken uitvoeren.
- De SSIS Projects-extensie voor Visual Studio downloaden
- Het zelfstandige installatieprogramma downloaden
Wanneer u nieuwe pakketten ontwerpt met Gegevensstroom Taken met onderdelen die on-premises toegang hebben tot gegevens, kunt u de eigenschap inschakelen door deze ConnectByProxy
in te stellen op Waar in het deelvenster Eigenschappen van relevante verbindingsbeheerders.
Wanneer u nieuwe pakketten ontwerpt die SQL-/procestaken uitvoeren die on-premises worden uitgevoerd, kunt u de eigenschap inschakelen door deze ExecuteOnProxy
in te stellen op Waar in het deelvenster Eigenschappen van relevante taken zelf.
U kunt de ConnectByProxy
/ExecuteOnProxy
eigenschappen ook inschakelen wanneer u bestaande pakketten uitvoert, zonder ze handmatig één voor één te hoeven wijzigen. Er zijn twee opties:
Optie A: Open, herbouw en implementeer het project met deze pakketten met de nieuwste SSDT die moet worden uitgevoerd op uw Azure-SSIS IR. Vervolgens kunt u de eigenschap inschakelen door deze
ConnectByProxy
in te stellen op Waar voor de relevante verbindingsbeheerders die worden weergegeven op het tabblad Verbindingsbeheer s van het pop-upvenster Pakket uitvoeren wanneer u pakketten uitvoert vanuit SSMS.U kunt de eigenschap ook inschakelen door deze
ConnectByProxy
in te stellen op Waar voor de relevante verbindingsbeheerders die worden weergegeven op het tabblad Verbindingsbeheer s van de activiteit SSIS-pakket uitvoeren wanneer u pakketten uitvoert in Data Factory-pijplijnen.Optie B: Implementeer het project met deze pakketten opnieuw om uit te voeren op uw SSIS IR. Vervolgens kunt u de
ConnectByProxy
/ExecuteOnProxy
eigenschappen inschakelen door de bijbehorende eigenschapspaden\Package\YourExecuteSQLTaskName.Properties[ExecuteOnProxy]
\Package.Connections[YourConnectionManagerName].Properties[ConnectByProxy]
/\Package\YourExecuteProcessTaskName.Properties[ExecuteOnProxy]
/ op te geven en deze in te stellen op True als eigenschapsoverschrijvingen op het tabblad Geavanceerd van het pop-upvenster Pakket uitvoeren wanneer u pakketten uitvoert vanuit SSMS.U kunt de
ConnectByProxy
/ExecuteOnProxy
eigenschappen ook inschakelen door hun eigenschapspaden\Package\YourExecuteSQLTaskName.Properties[ExecuteOnProxy]
\Package.Connections[YourConnectionManagerName].Properties[ConnectByProxy]
/\Package\YourExecuteProcessTaskName.Properties[ExecuteOnProxy]
/ op te geven en deze in te stellen op True als eigenschapsoverschrijvingen op het tabblad Eigenschapsoverschrijvingen van de activiteit SSIS-pakket uitvoeren wanneer u pakketten uitvoert in Data Factory-pijplijnen.
Fouten opsporen in de on-premises taken en faseringstaken in de cloud
Op uw zelf-hostende IR vindt u de runtimelogboeken in de map C:\ProgramData\SSISTelemetry en de uitvoeringslogboeken van on-premises faseringstaken en SQL/Procestaken uitvoeren in de map C:\ProgramData\SSISTelemetry\ExecutionLog . U vindt de uitvoeringslogboeken van cloudfaseringstaken in uw SSISDB, opgegeven bestandspaden voor logboekregistratie of Azure Monitor, afhankelijk van of u uw pakketten opslaat in SSISDB, Azure Monitor-integratie inschakelt, enzovoort. U kunt ook de unieke id's van on-premises faseringstaken vinden in de uitvoeringslogboeken van cloudfaseringstaken.
Als u klantondersteuningstickets hebt gegenereerd, kunt u de knop Logboeken verzenden selecteren op het tabblad Diagnostische gegevens van Microsoft Integration Runtime Configuration Manager die is geïnstalleerd op uw zelf-hostende IR om recente bewerkings- en uitvoeringslogboeken te verzenden die ons kunnen onderzoeken.
Facturering voor de on-premises taken en faseringstaken in de cloud
De on-premises faseringstaken en SQL-/procestaken uitvoeren die worden uitgevoerd op uw zelf-hostende IR, worden afzonderlijk gefactureerd, net zoals alle activiteiten voor gegevensverplaatsing die worden uitgevoerd op een zelf-hostende IR worden gefactureerd. Dit is opgegeven in het prijsartikel voor gegevenspijplijnen van Azure Data Factory.
De cloudfaseringstaken die worden uitgevoerd op uw Azure-SSIS IR, worden niet afzonderlijk gefactureerd, maar uw actieve Azure-SSIS IR wordt gefactureerd zoals opgegeven in het prijsartikel over Azure-SSIS IR.
Enforce TLS 1.2
Als u toegang nodig hebt tot gegevensarchieven die zijn geconfigureerd om alleen het sterkste cryptografie-/veiligste netwerkprotocol (TLS 1.2) te gebruiken, inclusief uw Azure Blob Storage voor fasering, moet u alleen TLS 1.2 inschakelen en oudere SSL/TLS-versies tegelijkertijd uitschakelen op uw zelf-hostende IR. Hiervoor kunt u het main.cmd-script downloaden en uitvoeren.https://github.com/Azure/Azure-DataFactory/tree/main/SamplesV2/SQLServerIntegrationServices/publicpreview/CustomSetupScript/UserScenarios/TLS%201.2
Huidige beperkingen
- Alleen onderdelen van gegevensstromen die zijn ingebouwd/vooraf geïnstalleerd in Azure-SSIS IR Standard Edition, met uitzondering van Hadoop/HDFS/DQS-onderdelen, worden momenteel ondersteund, zie alle ingebouwde/vooraf geïnstalleerde onderdelen in Azure-SSIS IR.
- Alleen aangepaste/externe gegevensstroomonderdelen die zijn geschreven in beheerde code (.NET Framework) worden momenteel ondersteund. De onderdelen die zijn geschreven in systeemeigen code (C++) worden momenteel niet ondersteund.
- Het wijzigen van variabele waarden in zowel on-premises als cloudfaseringstaken wordt momenteel niet ondersteund.
- Het wijzigen van variabele waarden van het typeobject in on-premises faseringstaken wordt niet doorgevoerd in andere taken.
- ParameterMapping in OLEDB-bron wordt momenteel niet ondersteund. Als tijdelijke oplossing gebruikt u SQL Command From Variable als accessmode en gebruikt u expressie om uw variabelen/parameters in te voegen in een SQL-opdracht. Zie als afbeelding het pakket ParameterMappingSample.dtsx in de map SelfHostedIRProxy/Limitations van onze openbare preview-blobcontainer. Met Behulp van Azure Storage Explorer kunt u verbinding maken met onze openbare preview-blobcontainer door de bovenstaande SAS-URI in te voeren.
Gerelateerde inhoud
Nadat u uw zelf-hostende IR hebt geconfigureerd als proxy voor uw Azure-SSIS IR, kunt u uw pakketten implementeren en uitvoeren om toegang te krijgen tot gegevens en of om eventuele SQL-instructies/-processen on-premises uit te voeren als SSIS-pakketactiviteiten uitvoeren in Data Factory-pijplijnen. Zie SSIS-pakketten uitvoeren als SSIS-pakketactiviteiten uitvoeren in Data Factory-pijplijnen voor meer informatie. Zie ook onze blogs: Elke SQL Anywhere uitvoeren in 3 eenvoudige stappen met SSIS in Azure Data Factory en elk proces overal uitvoeren in 3 eenvoudige stappen met SSIS in Azure Data Factory.