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 Verbinding maken ivity (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:

  1. 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.

  2. 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.

Prepare the Azure Blob storage-linked service for staging

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.

  1. Ga in het installatievenster van Integration Runtime verder dan de pagina's Algemene instellingen en Implementatie-instellingen door de knop Doorgaan te selecteren.

  2. Ga als volgt te werk op de pagina Geavanceerde instellingen :

    1. Schakel het selectievakje Zelf-hostende Integration Runtime instellen in als proxy voor uw Azure-SSIS Integration Runtime .

    2. Selecteer in de vervolgkeuzelijst Zelf-hostende Integration Runtime uw bestaande zelf-hostende IR als proxy voor de Azure-SSIS IR.

    3. Selecteer in de vervolgkeuzelijst Voor faseringsopslag gekoppelde service uw bestaande gekoppelde Azure Blob Storage-service of maak een nieuwe voor fasering.

    4. 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.

    5. Klik op de knop Doorgaan.

    Advanced settings with a self-hosted IR

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.

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.

Enable ConnectByProxy/ExecuteOnProxy property

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.

    Enable ConnectByProxy/ExecuteOnProxy property2

    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.

    Enable ConnectByProxy/ExecuteOnProxy property3

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

    Enable ConnectByProxy/ExecuteOnProxy property4

    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.

    Enable ConnectByProxy/ExecuteOnProxy property5

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.

Unique ID of the first staging task

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 dat we bieden in de map CustomSetupScript/UserScenarios/TLS 1.2 van onze openbare preview-blobcontainer. Met Behulp van Azure Storage Explorer kunt u verbinding maken met onze openbare preview-blobcontainer door de volgende SAS-URI in te voeren:

https://ssisazurefileshare.blob.core.windows.net/publicpreview?sp=rl&st=2020-03-25T04:00:00Z&se=2025-03-25T04:00:00Z&sv=2019-02-02&sr=c&sig=WAD3DATezJjhBCO3ezrQ7TUZ8syEUxZZtGIhhP6Pt4I%3D

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.

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.