Dela via


Konfigurera en lokalt installerad IR som proxy för en Azure-SSIS IR

GÄLLER FÖR: Azure Data Factory Azure Synapse Analytics

Dricks

Prova Data Factory i Microsoft Fabric, en allt-i-ett-analyslösning för företag. Microsoft Fabric omfattar allt från dataflytt till datavetenskap, realtidsanalys, business intelligence och rapportering. Lär dig hur du startar en ny utvärderingsversion kostnadsfritt!

Den här artikeln beskriver hur du kör SQL Server Integration Services-paket (SSIS) på en Azure-SSIS Integration Runtime (Azure-SSIS IR) med en lokalt installerad integrationskörning (lokalt installerad IR) som konfigurerats som en proxyserver.

Med den här funktionen kan du komma åt data och köra uppgifter lokalt utan att behöva ansluta din Azure-SSIS IR till ett virtuellt nätverk. Funktionen är användbar när företagets nätverk har en för komplex konfiguration eller en princip som är för restriktiv för att du ska kunna mata in din Azure-SSIS IR i den.

Den här funktionen kan bara aktiveras för SSIS-dataflödesaktivitet och köra SQL/Process-uppgifter för tillfället.

Den här funktionen är aktiverad för dataflödesaktivitet och delar upp den i två mellanlagringsuppgifter när det är tillämpligt:

  • Lokal mellanlagringsaktivitet: Den här uppgiften kör din dataflödeskomponent som ansluter till ett lokalt datalager på din lokala IR. Den flyttar data från det lokala datalagret till ett mellanlagringsområde i Azure Blob Storage eller vice versa.
  • Molnlagringsaktivitet: Den här uppgiften kör din dataflödeskomponent som inte ansluter till ett lokalt datalager på din Azure-SSIS IR. Den flyttar data från mellanlagringsområdet i Azure Blob Storage till ett molndatalager eller vice versa.

Om dataflödesaktiviteten flyttar data från en lokal plats till molnet blir den första och andra mellanlagringsuppgiften lokala uppgifter respektive mellanlagringsuppgifter för molnet. Om dataflödesaktiviteten flyttar data från molnet till en lokal plats blir de första och andra mellanlagringsuppgifterna molnuppgifter respektive lokala mellanlagringsuppgifter. Om dataflödesaktiviteten flyttar data från en lokal plats till en lokal plats blir den första och andra mellanlagringen både lokala mellanlagringsuppgifter. Om dataflödesaktiviteten flyttar data från molnet till molnet är den här funktionen inte tillämplig.

Den här funktionen är aktiverad vid Körning av SQL/Process-uppgifter och kör dem på din lokala IR.

Med andra fördelar och funktioner i den här funktionen kan du till exempel konfigurera din lokalt installerad IR i regioner som ännu inte stöds av en Azure-SSIS IR och tillåta den offentliga statiska IP-adressen för din lokala IR i brandväggen för dina datakällor.

Förbereda lokalt installerad IR

Om du vill använda den här funktionen skapar du först en datafabrik och konfigurerar en Azure-SSIS IR i den. Om du inte redan har gjort det följer du anvisningarna i Konfigurera en Azure-SSIS IR.

Sedan konfigurerar du din lokalt installerad IR i samma datafabrik där din Azure-SSIS IR har konfigurerats. Det gör du genom att läsa Skapa en lokalt installerad IR.

Slutligen laddar du ned och installerar den senaste versionen av lokalt installerad IR, samt ytterligare drivrutiner och körning på din lokala dator eller virtuella Azure-dator (VM), enligt följande:

  • Ladda ned och installera den senaste versionen av lokalt installerad IR.

  • Aktivera SSIS-paketkörning på lokalt installerad integrationskörningsnod om den lokalt installerade IR-versionen är 5.28.0 eller senare.

    Egenskapen ExecuteSsisPackage har nyligen introducerats från den lokalt installerade IR-versionen 5.28.0. Använd IR-kommandoradsåtgärden nedan för att aktivera eller inaktivera SSIS-paketkörning:

    • -EnableExecuteSsisPackage Aktivera SSIS-paketkörning på lokalt installerad IR-nod.

    • -DisableExecuteSsisPackage Inaktivera SSIS-paketkörning på lokalt installerad IR-nod.

    • -GetExecuteSsisPackage

    Information om lokalt installerad IR-kommandorad finns i Konfigurera en befintlig lokalt installerad IR via lokal PowerShell.

    Nyligen installerad lokalt installerad IR-nod med version 5.28.0 eller senare inaktiveras egenskapen ExecuteSsisPackage som standard.

    Befintlig lokalt installerad IR-nod uppdaterad till version 5.28.0 eller senare, executeSsisPackage-egenskapen är som standard aktiverad

  • Om du använder Object Linking and Embedding Database (OLEDB), Open Database Connectivity (ODBC) eller ADO.NET-anslutningsappar i dina paket laddar du ned och installerar relevanta drivrutiner på samma dator där din lokala IR är installerad, om du inte redan har gjort det.

    Om du använder den tidigare versionen av OLEDB-drivrutinen för SQL Server (SQL Server Native Client [SQLNCLI]) laddar du ned 64-bitarsversionen.

    Om du använder den senaste versionen av OLEDB-drivrutinen för SQL Server (MSOLEDBSQL) laddar du ned 64-bitarsversionen.

    Om du använder OLEDB/ODBC/ADO.NET-drivrutiner för andra databassystem, till exempel PostgreSQL, MySQL, Oracle och så vidare, kan du ladda ned 64-bitarsversionerna från deras webbplatser.

  • Om du använder dataflödeskomponenter från Azure Feature Pack i dina paket laddar du ned och installerar Azure Feature Pack för SQL Server 2017 på samma dator där din lokala IR är installerad, om du inte redan har gjort det.

  • Om du inte redan har gjort det laddar du ned och installerar 64-bitarsversionen av Visual C++ (VC) på samma dator där din lokalt installerad IR är installerad.

Aktivera Windows-autentisering för lokala uppgifter

Om lokala mellanlagringsuppgifter och Kör SQL/Process-uppgifter på din lokalt installerade IR kräver Windows-autentisering måste du även konfigurera Windows-autentiseringsfunktionen i din Azure-SSIS IR.

Dina lokala mellanlagringsuppgifter och Kör SQL/Process-uppgifter anropas med det lokalt installerade IR-tjänstkontot (NT SERVICE\DIAHostService, som standard), och dina datalager kommer att nås med Windows-autentiseringskontot. Båda kontona kräver att vissa säkerhetsprinciper tilldelas dem. På den lokalt installerade IR-datorn går du till Tilldelning av lokala säkerhetsprinciper>för lokala principer>för användarrättigheter och gör sedan följande:

  1. Tilldela policyerna Justera minneskvoter för en process och Ersätt tokenprinciper på processnivå till det lokalt installerade IR-tjänstkontot. Detta bör ske automatiskt när du installerar din lokala IR med standardtjänstkontot. Om den inte gör det tilldelar du dessa principer manuellt. Om du använder ett annat tjänstkonto tilldelar du samma principer till det.

  2. Tilldela inloggningen som en tjänstprincip till Windows-autentiseringskontot.

Förbereda den länkade Azure Blob Storage-tjänsten för mellanlagring

Om du inte redan har gjort det skapar du en länkad Azure Blob Storage-tjänst i samma datafabrik där din Azure-SSIS IR har konfigurerats. Det gör du genom att läsa Skapa en länkad Azure Data Factory-tjänst. Se till att göra följande:

  • För Data Store väljer du Azure Blob Storage.
  • För Anslut via integrationskörning väljer du AutoResolveIntegrationRuntime (inte din lokalt installerad IR), så vi kan ignorera det och använda din Azure-SSIS IR i stället för att hämta åtkomstautentiseringsuppgifter för Azure Blob Storage.
  • Som Autentiseringsmetod väljer du Kontonyckel, SAS-URI, Tjänstens huvudnamn, Hanterad identitet eller Användartilldelad hanterad identitet.

Dricks

Om din datafabriksinstans är Git-aktiverad publiceras inte en länkad tjänst utan nyckelautentisering omedelbart, vilket innebär att du inte kan spara integrationskörningen som är beroende av den länkade tjänsten i funktionsgrenen. Autentisering med kontonyckel eller SAS-URI publicerar omedelbart den länkade tjänsten.

Dricks

Om du väljer metoden Tjänstens huvudnamn beviljar du tjänstens huvudnamn minst en roll som Storage Blob Data-deltagare . Mer information finns i Azure Blob Storage-anslutningsprogrammet. Om du väljer metoden Hanterad identitet/Användartilldelad hanterad identitet ger du den angivna system-/användartilldelade hanterade identiteten för din ADF en lämplig roll för åtkomst till Azure Blob Storage. Mer information finns i Access Azure Blob Storage using Microsoft Entra authentication with the specified system/user-assigned managed identity for your ADF (Åtkomst till Azure Blob Storage med Microsoft Entra-autentisering med angiven system-/användartilldelad hanterad identitet för din ADF).

Förbereda den Azure Blob Storage-länkade tjänsten för mellanlagring

Konfigurera en Azure-SSIS IR med din lokalt installerad IR som proxy

När du har förberett din egen värdbaserade IR- och Azure Blob Storage-länkade tjänst för mellanlagring kan du nu konfigurera din nya eller befintliga Azure-SSIS IR med den lokalt installerade IR:n som proxy i datafabriksportalen eller appen. Innan du gör det kan du dock stoppa, redigera och starta om den om din befintliga Azure-SSIS IR redan körs.

  1. I fönstret Installation av integrationskörning hoppar du förbi sidorna Allmänna inställningar och Distributionsinställningar genom att välja knappen Fortsätt.

  2. Gör följande på sidan Avancerade inställningar :

    1. Markera kryssrutan Konfigurera lokalt installerad integrationskörning som proxy för Azure-SSIS Integration Runtime .

    2. I listrutan Lokalt installerad integrationskörning väljer du din befintliga lokalt installerad IR som proxy för Azure-SSIS IR.

    3. I listrutan Mellanlagring av länkad tjänst väljer du din befintliga länkade Azure Blob Storage-tjänst eller skapar en ny för mellanlagring.

    4. I rutan Mellanlagringssökväg anger du en blobcontainer i ditt valda Azure Storage-konto eller lämnar den tom om du vill använda en standardcontainer för mellanlagring.

    5. Välj knappen Fortsätt.

    Avancerade inställningar med en lokalt installerad IR

Du kan också konfigurera din nya eller befintliga Azure-SSIS IR med lokalt installerad IR som proxy med hjälp av 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

Aktivera SSIS-paket för att använda en proxy

Genom att använda den senaste SSDT som antingen SSIS Projects-tillägget för Visual Studio eller ett fristående installationsprogram kan du hitta en ny ConnectByProxy egenskap i anslutningshanterare för komponenter och ExecuteOnProxy egenskaper för dataflöde som stöds i Kör SQL/Process-uppgifter.

När du utformar nya paket som innehåller dataflödesuppgifter med komponenter som har åtkomst till data lokalt kan du aktivera ConnectByProxy egenskapen genom att ställa in den på Sant i fönstret Egenskaper för relevanta anslutningshanterare.

När du utformar nya paket som innehåller Kör SQL-/processaktiviteter som körs lokalt kan du aktivera egenskapen genom att ställa in den ExecuteOnProxySant i fönstret Egenskaper för relevanta uppgifter.

Aktivera egenskapen ConnectByProxy/ExecuteOnProxy

Du kan också aktivera ConnectByProxy/ExecuteOnProxy egenskaperna när du kör befintliga paket, utan att behöva ändra dem manuellt en i taget. Det finns två alternativ:

  • Alternativ A: Öppna, återskapa och distribuera om projektet som innehåller paketen med den senaste SSDT som ska köras på din Azure-SSIS IR. Du kan sedan aktivera egenskapen genom att ställa in den på Sant för relevanta anslutningshanterare som visas på fliken Upravljač za uspostavljanje veze s i popup-fönstret Kör paket när du kör paket från SSMS. ConnectByProxy

    Aktivera Egenskapen ConnectByProxy/ExecuteOnProxy2

    Du kan också aktivera egenskapen genom att ställa in den på Sant för relevanta anslutningshanterare som visas på fliken Upravljač za uspostavljanje veze s i Aktiviteten Kör SSIS-paket när du kör paket i Data Factory-pipelines. ConnectByProxy

    Aktivera egenskapen ConnectByProxy/ExecuteOnProxy3

  • Alternativ B: Distribuera om projektet som innehåller de paket som ska köras på din SSIS IR. Du kan sedan aktivera ConnectByProxy/ExecuteOnProxy egenskaperna genom att ange deras egenskapssökvägar,\Package\YourExecuteSQLTaskName.Properties[ExecuteOnProxy]\Package.Connections[YourConnectionManagerName].Properties[ConnectByProxy]/\Package\YourExecuteProcessTaskName.Properties[ExecuteOnProxy]/ , och ställa in dem på True som egenskaps åsidosättningar på fliken Avancerat i popup-fönstret Kör paket när du kör paket från SSMS.

    Aktivera Egenskapen ConnectByProxy/ExecuteOnProxy4

    Du kan också aktivera ConnectByProxy/ExecuteOnProxy egenskaperna genom att ange deras egenskapssökvägar,/\Package\YourExecuteSQLTaskName.Properties[ExecuteOnProxy]\Package.Connections[YourConnectionManagerName].Properties[ConnectByProxy]/\Package\YourExecuteProcessTaskName.Properties[ExecuteOnProxy] , och ställa in dem på Sant som egenskaps åsidosättningar på fliken Egenskaps åsidosättningar i Aktiviteten Kör SSIS-paket när du kör paket i Data Factory-pipelines.

    Aktivera Egenskapen ConnectByProxy/ExecuteOnProxy5

Felsöka lokala uppgifter och mellanlagringsuppgifter i molnet

På din lokala IR hittar du körningsloggarna i mappen C:\ProgramData\SSISTelemetry och körningsloggarna för lokala mellanlagringsuppgifter och Kör SQL-/processaktiviteter i mappen C:\ProgramData\SSISTelemetry\ExecutionLog . Du hittar körningsloggarna för molnlagringsuppgifter i din SSISDB, angivna loggningsfilsökvägar eller Azure Monitor beroende på om du lagrar dina paket i SSISDB, aktiverar Azure Monitor-integrering osv. Du kan också hitta unika ID:er för lokala mellanlagringsuppgifter i körningsloggarna för molnlagringsuppgifter.

Unikt ID för den första mellanlagringsuppgiften

Om du har skapat kundsupportärenden kan du välja knappen Skicka loggar på fliken Diagnostik i Microsoft Integration Runtime Configuration Manager som är installerad på din lokala IR för att skicka de senaste åtgärds-/körningsloggarna som vi kan undersöka.

Fakturering för lokala uppgifter och mellanlagringsuppgifter i molnet

De lokala mellanlagringsuppgifterna och Kör SQL/Process-uppgifter som körs på din lokalt installerad IR debiteras separat, precis som alla dataförflyttningsaktiviteter som körs på en lokalt installerad IR faktureras. Detta anges i prisartikeln för Azure Data Factory-datapipelines .

Molnlagringsuppgifterna som körs på din Azure-SSIS IR debiteras inte separat, men din azure-SSIS IR som körs faktureras enligt vad som anges i prisartikeln för Azure-SSIS IR.

Aktivera TLS 1.2

Om du behöver komma åt datalager som har konfigurerats för att endast använda det starkaste kryptografi-/säkraste nätverksprotokollet (TLS 1.2), inklusive Din Azure Blob Storage för mellanlagring, måste du endast aktivera TLS 1.2 och inaktivera äldre SSL/TLS-versioner samtidigt på din lokala IR. Det gör du genom att ladda ned och köra skriptet main.cmd från https://github.com/Azure/Azure-DataFactory/tree/main/SamplesV2/SQLServerIntegrationServices/publicpreview/CustomSetupScript/UserScenarios/TLS%201.2.

Aktuella begränsningar

  • Endast dataflödeskomponenter som är inbyggda/förinstallerade i Azure-SSIS IR Standard Edition, förutom Hadoop/HDFS/DQS-komponenter, stöds för närvarande, se alla inbyggda/förinstallerade komponenter i Azure-SSIS IR.
  • Endast anpassade/tredjepartskomponenter för dataflöde som är skrivna i hanterad kod (.NET Framework) stöds för närvarande – de som skrivits i intern kod (C++) stöds för närvarande inte.
  • För närvarande stöds inte ändring av variabelvärden i både lokala och molnbaserade mellanlagringsuppgifter.
  • Att ändra variabelvärden för typobjekt i lokala mellanlagringsuppgifter återspeglas inte i andra aktiviteter.
  • ParameterMapping i OLEDB-källan stöds för närvarande inte. Som en lösning kan du använda SQL-kommandot från variabeln som AccessMode och använda Uttryck för att infoga variabler/parametrar i ett SQL-kommando. Som en bild kan du läsa ParameterMappingSample.dtsx-paketet som finns i mappen SelfHostedIRProxy/Limitations i vår blobcontainer för offentlig förhandsversion. Med Azure Storage Explorer kan du ansluta till vår offentliga blobcontainer för förhandsversion genom att ange SAS-URI:n ovan.

När du har konfigurerat din lokalt installerad IR som proxy för din Azure-SSIS IR kan du distribuera och köra dina paket för att komma åt data och eller köra SQL-instruktioner/processer lokalt som Kör SSIS-paketaktiviteter i Data Factory-pipelines. Mer information finns i Köra SSIS-paket som Kör SSIS-paketaktiviteter i Data Factory-pipelines. Se även våra bloggar: Kör valfri SQL var som helst i tre enkla steg med SSIS i Azure Data Factory och Kör valfri process var som helst i tre enkla steg med SSIS i Azure Data Factory.