Delen via


Azure-SSIS Integration Runtime configureren voor bedrijfscontinuïteit en herstel na noodgevallen (BCDR)

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 .

Azure SQL Database/Managed Instance en SQL Server Integration Services (SSIS) in Azure Data Factory (ADF) of Synapse Pipelines kunnen worden gecombineerd als de aanbevolen PaaS-oplossing (All-Platform as a Service) voor SQL Server-migratie. U kunt uw SSIS-projecten implementeren in de SSIS-catalogusdatabase (SSISDB) die wordt gehost door Azure SQL Database/Managed Instance en uw SSIS-pakketten uitvoeren op Azure SSIS Integration Runtime (IR) in ADF of Synapse Pipelines.

Voor bedrijfscontinuïteit en herstel na noodgevallen (BCDR) kan Azure SQL Database/Managed Instance worden geconfigureerd met een geo-replicatie/failovergroep, waarbij SSISDB in een primaire Azure-regio met lees-schrijftoegang (primaire rol) continu wordt gerepliceerd naar een secundaire regio met alleen-lezentoegang (secundaire rol). Wanneer er zich een noodgeval voordoet in de primaire regio, wordt een failover geactiveerd, waarbij de primaire en secundaire SSISDBs rollen wisselen.

Voor BCDR kunt u ook een dubbel stand-by Azure SSIS IR-paar configureren dat synchroon werkt met azure SQL Database/Managed Instance-failovergroep. Hierdoor kunt u twee actieve Azure-SSIS IRs hebben die op elk gewenst moment slechts één toegang heeft tot de primaire SSISDB voor het ophalen en uitvoeren van pakketten, evenals het schrijven van logboeken voor pakketuitvoering (primaire rol), terwijl de andere alleen hetzelfde kan doen voor pakketten die ergens anders zijn geïmplementeerd, bijvoorbeeld in Azure Files (secundaire rol). Wanneer SSISDB-failover plaatsvindt, wisselen de primaire en secundaire Azure-SSIS-IRs ook rollen om en als beide worden uitgevoerd, is er bijna nul downtime.

In dit artikel wordt beschreven hoe u Azure-SSIS IR configureert met azure SQL Database/Managed Instance-failovergroep voor BCDR.

Een dual-stand-by Azure-SSIS IR-paar configureren met een Azure SQL Database-failovergroep

Voer de volgende stappen uit om een azure-SSIS IR-paar met dubbele stand-by te configureren dat synchroon werkt met een Azure SQL Database-failovergroep.

  1. Met behulp van Azure Portal/ADF UI kunt u een nieuwe Azure-SSIS IR maken met uw primaire Azure SQL Database-server om SSISDB in de primaire regio te hosten. Als u een bestaande Azure-SSIS IR hebt die al is gekoppeld aan SSIDB die wordt gehost door uw primaire Azure SQL Database-server en deze nog steeds wordt uitgevoerd, moet u deze eerst stoppen om deze opnieuw te configureren. Dit is uw primaire Azure-SSIS IR.

    Wanneer u SSISDB wilt gebruiken op de pagina Implementatie-instellingen van het installatievenster van Integration Runtime, schakelt u ook het selectievakje Dual Standby Azure-SSIS Integration Runtime-paar met SSISDB-failover gebruiken in. Voer voor de naam van twee stand-byparen een naam in om uw paar primaire en secundaire Azure-SSIS IRs te identificeren. Wanneer u het maken van uw primaire Azure-SSIS IR hebt voltooid, wordt deze gestart en gekoppeld aan een primaire SSISDB die namens u wordt gemaakt met lees-/schrijftoegang. Als u deze net opnieuw hebt geconfigureerd, moet u deze opnieuw opstarten.

  2. Met behulp van Azure Portal kunt u controleren of de primaire SSISDB is gemaakt op de overzichtspagina van uw primaire Azure SQL Database-server. Zodra deze is gemaakt, kunt u een failovergroep maken voor uw primaire en secundaire Azure SQL Database-servers en er SSISDB aan toevoegen op de pagina Failovergroepen . Zodra uw failovergroep is gemaakt, kunt u controleren of de primaire SSISDB is gerepliceerd naar een secundaire groep met alleen-lezentoegang op de pagina Overzicht van uw secundaire Azure SQL Database-server.

  3. Met behulp van Azure Portal/ADF UI kunt u een andere Azure-SSIS IR maken met uw secundaire Azure SQL Database-server om SSISDB in de secundaire regio te hosten. Dit is uw secundaire Azure-SSIS IR. Voor volledige BCDR moet u ervoor zorgen dat alle resources die ervan afhankelijk zijn, ook worden gemaakt in de secundaire regio, bijvoorbeeld Azure Storage voor het opslaan van aangepaste installatiescripts/bestanden, ADF voor indelings-/planningspakketuitvoeringen, enzovoort.

    Wanneer u SSISDB wilt gebruiken op de pagina Implementatie-instellingen van het installatievenster van Integration Runtime, schakelt u ook het selectievakje Dual Standby Azure-SSIS Integration Runtime-paar met SSISDB-failover gebruiken in. Voer voor dubbele stand-bypaarnaam dezelfde naam in om uw paar primaire en secundaire Azure-SSIS IRs te identificeren. Wanneer u het maken van uw secundaire Azure-SSIS IR hebt voltooid, wordt deze gestart en gekoppeld aan de secundaire SSISDB.

  4. Als u bijna nul downtime wilt hebben wanneer SSISDB-failover plaatsvindt, moet u beide Azure-SSIS IRs actief houden. Alleen uw primaire Azure-SSIS IR heeft toegang tot de primaire SSISDB voor het ophalen en uitvoeren van pakketten, evenals het schrijven van logboeken voor pakketuitvoering, terwijl uw secundaire Azure-SSIS IR alleen hetzelfde kan doen voor pakketten die ergens anders zijn geïmplementeerd, bijvoorbeeld in Azure Files.

    Als u de lopende kosten wilt minimaliseren, kunt u uw secundaire Azure-SSIS IR stoppen nadat deze is gemaakt. Wanneer SSISDB-failover plaatsvindt, wisselen uw primaire en secundaire Azure-SSIS IRs rollen. Als uw primaire Azure-SSIS IR is gestopt, moet u deze opnieuw opstarten. Afhankelijk van of het wordt geïnjecteerd in een virtueel netwerk en de gebruikte injectiemethode, duurt het binnen 5 minuten of ongeveer 20 - 30 minuten voordat het wordt uitgevoerd.

  5. Als u ADF gebruikt voor het organiseren/plannen van pakketuitvoeringen, moet u ervoor zorgen dat alle relevante ADF-pijplijnen met SSIS-pakketactiviteiten en bijbehorende triggers worden gekopieerd naar uw secundaire ADF, waarbij de triggers in eerste instantie zijn uitgeschakeld. Wanneer SSISDB-failover plaatsvindt, moet u deze inschakelen.

  6. U kunt uw Azure SQL Database-failovergroep testen en controleren op de bewakingspagina van Azure-SSIS IR in de ADF-portal of uw primaire en secundaire Azure-SSIS IRs rollen hebben gewisseld.

Een dual-stand-by Azure-SSIS IR-paar configureren met een failovergroep van Azure SQL Managed Instance

Voer de volgende stappen uit om een azure-SSIS IR-paar met dubbele stand-by te configureren dat synchroon werkt met de failovergroep van Azure SQL Managed Instance.

  1. Met behulp van Azure Portal kunt u een failovergroep maken voor uw primaire en secundaire Azure SQL Managed Instances op de pagina Failovergroepen van uw primaire Azure SQL Managed Instance.

  2. Met behulp van Azure Portal/ADF UI kunt u een nieuwe Azure-SSIS IR maken met uw primaire Azure SQL Managed Instance om SSISDB in de primaire regio te hosten. Als u een bestaande Azure-SSIS IR hebt die al is gekoppeld aan SSIDB die wordt gehost door uw primaire Azure SQL Managed Instance en deze nog steeds wordt uitgevoerd, moet u deze eerst stoppen om deze opnieuw te configureren. Dit is uw primaire Azure-SSIS IR.

    Wanneer u SSISDB wilt gebruiken op de pagina Implementatie-instellingen van het installatievenster van Integration Runtime, schakelt u ook het selectievakje Dual Standby Azure-SSIS Integration Runtime-paar met SSISDB-failover gebruiken in. Voer voor de naam van twee stand-byparen een naam in om uw paar primaire en secundaire Azure-SSIS IRs te identificeren. Wanneer u het maken van uw primaire Azure-SSIS IR hebt voltooid, wordt deze gestart en gekoppeld aan een primaire SSISDB die namens u wordt gemaakt met lees-/schrijftoegang. Als u deze net opnieuw hebt geconfigureerd, moet u deze opnieuw opstarten. U kunt ook controleren of de primaire SSISDB is gerepliceerd naar een secundair exemplaar met alleen-lezentoegang op de pagina Overzicht van uw secundaire Azure SQL Managed Instance.

  3. Met behulp van Azure Portal/ADF UI kunt u een andere Azure-SSIS IR maken met uw secundaire Azure SQL Managed Instance om SSISDB in de secundaire regio te hosten. Dit is uw secundaire Azure-SSIS IR. Voor volledige BCDR moet u ervoor zorgen dat alle resources die ervan afhankelijk zijn, ook worden gemaakt in de secundaire regio, bijvoorbeeld Azure Storage voor het opslaan van aangepaste installatiescripts/bestanden, ADF voor indelings-/planningspakketuitvoeringen, enzovoort.

    Wanneer u SSISDB wilt gebruiken op de pagina Implementatie-instellingen van het installatievenster van Integration Runtime, schakelt u ook het selectievakje Dual Standby Azure-SSIS Integration Runtime-paar met SSISDB-failover gebruiken in. Voer voor dubbele stand-bypaarnaam dezelfde naam in om uw paar primaire en secundaire Azure-SSIS IRs te identificeren. Wanneer u het maken van uw secundaire Azure-SSIS IR hebt voltooid, wordt deze gestart en gekoppeld aan de secundaire SSISDB.

  4. Met Azure SQL Managed Instance kunnen gevoelige gegevens in databases, zoals SSISDB, worden beveiligd door ze te versleutelen met behulp van Database Master Key (DMK). DMK zelf wordt standaard versleuteld met behulp van Service Master Key (SMK). Sinds september 2021 wordt SMK gerepliceerd van uw primaire Azure SQL Managed Instance naar uw secundaire exemplaar tijdens het maken van een failovergroep. Als uw failovergroep eerder is gemaakt, verwijdert u alle gebruikersdatabases, inclusief SSISDB, uit uw secundaire Azure SQL Managed Instance en maakt u de failovergroep opnieuw.

  5. Als u bijna nul downtime wilt hebben wanneer SSISDB-failover plaatsvindt, moet u beide Azure-SSIS IRs actief houden. Alleen uw primaire Azure-SSIS IR heeft toegang tot de primaire SSISDB voor het ophalen en uitvoeren van pakketten, evenals het schrijven van logboeken voor pakketuitvoering, terwijl uw secundaire Azure-SSIS IR alleen hetzelfde kan doen voor pakketten die ergens anders zijn geïmplementeerd, bijvoorbeeld in Azure Files.

    Als u de lopende kosten wilt minimaliseren, kunt u uw secundaire Azure-SSIS IR stoppen nadat deze is gemaakt. Wanneer SSISDB-failover plaatsvindt, wisselen uw primaire en secundaire Azure-SSIS IRs rollen. Als uw primaire Azure-SSIS IR is gestopt, moet u deze opnieuw opstarten. Afhankelijk van of het wordt geïnjecteerd in een virtueel netwerk en de gebruikte injectiemethode, duurt het binnen 5 minuten of ongeveer 20 - 30 minuten voordat het wordt uitgevoerd.

  6. Als u Azure SQL Managed Instance Agent gebruikt voor het organiseren/plannen van pakketuitvoeringen, moet u ervoor zorgen dat alle relevante SSIS-taken met hun taakstappen en bijbehorende planningen worden gekopieerd naar uw secundaire Azure SQL Managed Instance, waarbij de planningen aanvankelijk zijn uitgeschakeld. Voer de volgende stappen uit met behulp van SSMS.

    1. Klik voor elke SSIS-taak met de rechtermuisknop en selecteer de scripttaak als, CREATE To en New Power Query-editor Window vervolgkeuzelijstitems om het script te genereren.

      SSIS-taakscript genereren

    2. Voor elk gegenereerd SSIS-taakscript zoekt u de opdracht om de opgeslagen procedure uit te voeren sp_add_job en wijzigt/verwijdert u indien nodig de waardetoewijzing naar @owner_login_name het argument.

    3. Voer voor elk bijgewerkt SSIS-taakscript het uit op uw secundaire Azure SQL Managed Instance om de taak te kopiëren met de bijbehorende taakstappen en bijbehorende planningen.

    4. Maak met behulp van het volgende script een nieuwe T-SQL-taak om SSIS-taakschema's in of uit te schakelen op basis van de primaire/secundaire SSISDB-rol, respectievelijk in uw primaire en secundaire Azure SQL Managed Instances en voer deze regelmatig uit. Wanneer SSISDB-failover plaatsvindt, worden SSIS-taakplanningen die zijn uitgeschakeld ingeschakeld en omgekeerd.

      IF (SELECT Top 1 role_desc FROM SSISDB.sys.dm_geo_replication_link_status WHERE partner_database = 'SSISDB') = 'PRIMARY'
         BEGIN
            IF (SELECT enabled FROM msdb.dbo.sysschedules WHERE schedule_id = <ScheduleID>) = 0
               EXEC msdb.dbo.sp_update_schedule @schedule_id = <ScheduleID >, @enabled = 1
         END
      ELSE
         BEGIN
            IF (SELECT enabled FROM msdb.dbo.sysschedules WHERE schedule_id = <ScheduleID>) = 1
               EXEC msdb.dbo.sp_update_schedule @schedule_id = <ScheduleID >, @enabled = 0
         END
      
  7. Als u ADF gebruikt voor het organiseren/plannen van pakketuitvoeringen, moet u ervoor zorgen dat alle relevante ADF-pijplijnen met SSIS-pakketactiviteiten en bijbehorende triggers worden gekopieerd naar uw secundaire ADF, waarbij de triggers in eerste instantie zijn uitgeschakeld. Wanneer SSISDB-failover plaatsvindt, moet u deze inschakelen.

  8. U kunt uw Azure SQL Managed Instance-failovergroep testen en controleren op de bewakingspagina van Azure-SSIS IR in de ADF-portal of uw primaire en secundaire Azure-SSIS-IR's rollen hebben gewisseld.

Een nieuwe Azure-SSIS IR koppelen aan bestaande SSISDB die wordt gehost door Azure SQL Database/Managed Instance

Als er zich een noodgeval voordoet en van invloed is op uw bestaande Azure-SSIS IR, maar niet op Azure SQL Database/Beheerd exemplaar in dezelfde regio, kunt u deze vervangen door een nieuwe in een andere regio. Voer de volgende stappen uit om uw bestaande SSISDB die wordt gehost door Azure SQL Database/Managed Instance te koppelen aan een nieuwe Azure-SSIS IR.

  1. Als uw bestaande Azure-SSIS IR nog steeds wordt uitgevoerd, moet u deze eerst stoppen met azure Portal/ADF UI of Azure PowerShell. Als het noodgeval ook van invloed is op ADF in dezelfde regio, kunt u deze stap overslaan.

  2. Voer met behulp van SSMS de volgende opdracht uit voor SSISDB in uw Azure SQL Database/Managed Instance om de metagegevens bij te werken die verbindingen van uw nieuwe ADF/Azure-SSIS IR toestaan.

    EXEC [catalog].[failover_integration_runtime] @data_factory_name = 'YourNewADF', @integration_runtime_name = 'YourNewAzureSSISIR'
    
  3. Maak met behulp van Azure Portal/ADF UI of Azure PowerShell uw nieuwe ADF/Azure-SSIS IR met de naam YourNewADF/YourNewAzureSSISIR, respectievelijk in een andere regio. Als u de gebruikersinterface van Azure Portal/ADF gebruikt, kunt u de fout in de testverbinding negeren op de pagina Implementatie-instellingen van het installatievenster van Integration Runtime.

U kunt deze andere configuratieopties voor uw Azure-SSIS IR overwegen: