Konfigurera Azure-SSIS-integreringskörning för affärskontinuitet och haveriberedskap (BCDR)

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!

Azure SQL Database/Managed Instance och SQL Server Integration Services (SSIS) i Azure Data Factory (ADF) eller Synapse Pipelines kan kombineras som den rekommenderade paaS-lösningen (All-Platform as a Service) för SQL Server-migrering. Du kan distribuera dina SSIS-projekt till SSIS-katalogdatabasen (SSISDB) som hanteras av Azure SQL Database/Managed Instance och köra dina SSIS-paket på Azure SSIS Integration Runtime (IR) i ADF eller Synapse Pipelines.

För affärskontinuitet och haveriberedskap (BCDR) kan Azure SQL Database/Managed Instance konfigureras med en geo-replikering/redundansgrupp, där SSISDB i en primär Azure-region med läs- och skrivåtkomst (primär roll) kontinuerligt replikeras till en sekundär region med skrivskyddad åtkomst (sekundär roll). När en katastrof inträffar i den primära regionen utlöses en redundansväxling, där de primära och sekundära SSISDB:erna byter roller.

För BCDR kan du också konfigurera ett Azure SSIS IR-par med dubbla väntelägen som fungerar synkroniserat med redundansgruppen Azure SQL Database/Managed Instance. På så sätt kan du ha ett par azure-SSIS-IR:er som vid en viss tidpunkt bara kan komma åt den primära SSISDB för att hämta och köra paket, samt skriva paketkörningsloggar (primär roll), medan den andra bara kan göra samma sak för paket som distribueras någon annanstans, till exempel i Azure Files (sekundär roll). När SSISDB redundansväxling inträffar växlar även de primära och sekundära Azure-SSIS IR:erna roller och om båda körs blir det nästan noll stilleståndstid.

I den här artikeln beskrivs hur du konfigurerar Azure-SSIS IR med Redundansgruppen Azure SQL Database/Managed Instance för BCDR.

Konfigurera ett Azure-SSIS IR-par med dubbla väntelägen med Azure SQL Database-redundans

Utför följande steg för att konfigurera ett Azure-SSIS IR-par med dubbla väntelägen som fungerar i synkronisering med Azure SQL Database-redundansgruppen.

  1. Med hjälp av Azure-portalen/ADF-användargränssnittet kan du skapa en ny Azure-SSIS IR med din primära Azure SQL Database-server som värd för SSISDB i den primära regionen. Om du har en befintlig Azure-SSIS IR som redan är kopplad till SSIDB som hanteras av din primära Azure SQL Database-server och den fortfarande körs, måste du stoppa den först för att konfigurera om den. Detta blir din primära Azure-SSIS IR.

    När du väljer att använda SSISDBsidan Distributionsinställningar i fönstret Integreringskörning väljer du även kryssrutan Använd azure-SSIS Integration Runtime-par med dubbla väntelägen med SSISDB-redundans. För Dubbla standby-par anger du ett namn för att identifiera ditt par med primära och sekundära Azure-SSIS-IR:er. När du har skapat din primära Azure-SSIS IR startas den och kopplas till en primär SSISDB som skapas åt dig med läs- och skrivåtkomst. Om du precis har konfigurerat om den måste du starta om den.

  2. Med Hjälp av Azure-portalen kan du kontrollera om den primära SSISDB har skapats på översiktssidan för din primära Azure SQL Database-server. När den har skapats kan du skapa en redundansgrupp för dina primära och sekundära Azure SQL Database-servrar och lägga till SSISDBsidan Redundansgrupper . När redundansgruppen har skapats kan du kontrollera om den primära SSISDB har replikerats till en sekundär med skrivskyddad åtkomst på översiktssidan för din sekundära Azure SQL Database-server.

  3. Med hjälp av Azure-portalen/ADF-användargränssnittet kan du skapa en annan Azure-SSIS IR med din sekundära Azure SQL Database-server som värd för SSISDB i den sekundära regionen. Detta blir din sekundära Azure-SSIS IR. För fullständig BCDR kontrollerar du att alla resurser som den är beroende av också skapas i den sekundära regionen, till exempel Azure Storage för lagring av anpassade installationsskript/filer, ADF för orkestrering/schemaläggning av paketkörningar osv.

    När du väljer att använda SSISDBsidan Distributionsinställningar i fönstret Integreringskörning väljer du även kryssrutan Använd azure-SSIS Integration Runtime-par med dubbla väntelägen med SSISDB-redundans. För Dubbla standby-par anger du samma namn för att identifiera ditt par med primära och sekundära Azure-SSIS-IR:er. När du har skapat din sekundära Azure-SSIS IR startas den och kopplas till den sekundära SSISDB.

  4. Om du vill ha en nästan noll stilleståndstid när SSISDB-redundans inträffar ska du hålla båda azure-SSIS-IR:erna igång. Endast din primära Azure-SSIS IR kan komma åt den primära SSISDB för att hämta och köra paket, samt skriva paketkörningsloggar, medan din sekundära Azure-SSIS IR bara kan göra samma sak för paket som distribueras någon annanstans, till exempel i Azure Files.

    Om du vill minimera din löpande kostnad kan du stoppa din sekundära Azure-SSIS IR när den har skapats. När SSISDB redundansväxling inträffar byter dina primära och sekundära Azure-SSIS IR-roller. Om din primära Azure-SSIS IR stoppas måste du starta om den. Beroende på om den matas in i ett virtuellt nätverk och vilken inmatningsmetod som används, tar det inom 5 minuter eller cirka 20–30 minuter innan den körs.

  5. Om du använder ADF för orkestrering/schemaläggning av paketkörningar kontrollerar du att alla relevanta ADF-pipelines med Kör SSIS-paketaktiviteter och associerade utlösare kopieras till din sekundära ADF med utlösarna inaktiverade. När SSISDB redundans inträffar måste du aktivera dem.

  6. Du kan testa din Azure SQL Database-redundansgrupp och kontrollera på azure-SSIS IR-övervakningssidan i ADF-portalen om dina primära och sekundära Azure-SSIS IR:er har växlade roller.

Konfigurera ett Azure-SSIS IR-par med dubbla väntelägen med Azure SQL Managed Instance-redundansgrupp

Utför följande steg för att konfigurera ett Azure-SSIS IR-par med dubbla väntelägen som fungerar i synkronisering med redundansgruppen Azure SQL Managed Instance.

  1. Med Hjälp av Azure-portalen kan du skapa en redundansgrupp för dina primära och sekundära Azure SQL Managed Instancessidan Redundansgrupper i din primära Azure SQL Managed Instance.

  2. Med hjälp av Azure-portalen/ADF-användargränssnittet kan du skapa en ny Azure-SSIS IR med din primära Azure SQL Managed Instance som värd för SSISDB i den primära regionen. Om du har en befintlig Azure-SSIS IR som redan är kopplad till SSIDB som hanteras av din primära Azure SQL Managed Instance och den fortfarande körs, måste du stoppa den först för att konfigurera om den. Detta blir din primära Azure-SSIS IR.

    När du väljer att använda SSISDBsidan Distributionsinställningar i fönstret Integreringskörning väljer du även kryssrutan Använd azure-SSIS Integration Runtime-par med dubbla väntelägen med SSISDB-redundans. För Dubbla standby-par anger du ett namn för att identifiera ditt par med primära och sekundära Azure-SSIS-IR:er. När du har skapat din primära Azure-SSIS IR startas den och kopplas till en primär SSISDB som skapas åt dig med läs- och skrivåtkomst. Om du precis har konfigurerat om den måste du starta om den. Du kan också kontrollera om den primära SSISDB har replikerats till en sekundär med skrivskyddad åtkomst på översiktssidan för din sekundära Azure SQL Managed Instance.

  3. Med hjälp av Azure-portalen/ADF-användargränssnittet kan du skapa en annan Azure-SSIS IR med din sekundära Azure SQL Managed Instance som värd för SSISDB i den sekundära regionen. Detta blir din sekundära Azure-SSIS IR. För fullständig BCDR kontrollerar du att alla resurser som den är beroende av också skapas i den sekundära regionen, till exempel Azure Storage för lagring av anpassade installationsskript/filer, ADF för orkestrering/schemaläggning av paketkörningar osv.

    När du väljer att använda SSISDBsidan Distributionsinställningar i fönstret Integreringskörning väljer du även kryssrutan Använd azure-SSIS Integration Runtime-par med dubbla väntelägen med SSISDB-redundans. För Dubbla standby-par anger du samma namn för att identifiera ditt par med primära och sekundära Azure-SSIS-IR:er. När du har skapat din sekundära Azure-SSIS IR startas den och kopplas till den sekundära SSISDB.

  4. Azure SQL Managed Instance kan skydda känsliga data i databaser, till exempel SSISDB, genom att kryptera dem med hjälp av Database Master Key (DMK). SJÄLVA DMK krypteras i sin tur med hjälp av Service Master Key (SMK) som standard. Sedan september 2021 replikeras SMK från din primära Azure SQL Managed Instance till den sekundära när redundansgruppen skapas. Om redundansgruppen skapades innan dess tar du bort alla användardatabaser, inklusive SSISDB, från din sekundära Azure SQL Managed Instance och återskapar redundansgruppen.

  5. Om du vill ha en nästan noll stilleståndstid när SSISDB-redundans inträffar ska du hålla båda azure-SSIS-IR:erna igång. Endast din primära Azure-SSIS IR kan komma åt den primära SSISDB för att hämta och köra paket, samt skriva paketkörningsloggar, medan din sekundära Azure-SSIS IR bara kan göra samma sak för paket som distribueras någon annanstans, till exempel i Azure Files.

    Om du vill minimera din löpande kostnad kan du stoppa din sekundära Azure-SSIS IR när den har skapats. När SSISDB redundansväxling inträffar byter dina primära och sekundära Azure-SSIS IR-roller. Om din primära Azure-SSIS IR stoppas måste du starta om den. Beroende på om den matas in i ett virtuellt nätverk och vilken inmatningsmetod som används, tar det inom 5 minuter eller cirka 20–30 minuter innan den körs.

  6. Om du använder Azure SQL Managed Instance Agent för orkestrering/schemaläggning av paketkörningar kontrollerar du att alla relevanta SSIS-jobb med deras jobbsteg och associerade scheman kopieras till din sekundära Azure SQL Managed Instance med scheman som ursprungligen inaktiverats. Utför följande steg med hjälp av SSMS.

    1. För varje SSIS-jobb högerklickar du på och väljer listrutan Skriptjobb som, SKAPA till och Nytt Power Query-redigeraren fönster för att generera skriptet.

      Generate SSIS job script

    2. För varje genererat SSIS-jobbskript letar du upp kommandot för att köra sp_add_job den lagrade proceduren och ändrar/tar bort värdetilldelningen till @owner_login_name argumentet efter behov.

    3. För varje uppdaterat SSIS-jobbskript kör du det på din sekundära Azure SQL Managed Instance för att kopiera jobbet med dess jobbsteg och tillhörande scheman.

    4. Med hjälp av följande skript skapar du ett nytt T-SQL-jobb för att aktivera/inaktivera SSIS-jobbscheman baserat på den primära/sekundära SSISDB-rollen i både dina primära och sekundära Azure SQL Managed Instances och köra det regelbundet. När SSISDB redundans inträffar aktiveras SSIS-jobbscheman som inaktiverades och vice versa.

      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. Om du använder ADF för orkestrering/schemaläggning av paketkörningar kontrollerar du att alla relevanta ADF-pipelines med Kör SSIS-paketaktiviteter och associerade utlösare kopieras till din sekundära ADF med utlösarna inaktiverade. När SSISDB redundans inträffar måste du aktivera dem.

  8. Du kan testa redundansgruppen för Azure SQL Managed Instance och kontrollera på azure-SSIS IR-övervakningssidan i ADF-portalen om dina primära och sekundära Azure-SSIS IR:er har växlat roller.

Koppla en ny Azure-SSIS IR till befintlig SSISDB som hanteras av Azure SQL Database/Managed Instance

Om en katastrof inträffar och påverkar din befintliga Azure-SSIS IR men inte Azure SQL Database/Managed Instance i samma region kan du ersätta den med en ny i en annan region. Utför följande steg för att koppla din befintliga SSISDB som hanteras av Azure SQL Database/Managed Instance till en ny Azure-SSIS IR.

  1. Om din befintliga Azure-SSIS IR fortfarande körs måste du stoppa den först med hjälp av Azure-portalen/ADF-användargränssnittet eller Azure PowerShell. Om katastrofen också påverkar ADF i samma region kan du hoppa över det här steget.

  2. Använd SSMS och kör följande kommando för SSISDB i din Azure SQL Database/Managed Instance för att uppdatera metadata som tillåter anslutningar från din nya ADF/Azure-SSIS IR.

    EXEC [catalog].[failover_integration_runtime] @data_factory_name = 'YourNewADF', @integration_runtime_name = 'YourNewAzureSSISIR'
    
  3. Använd Azure-portalen/ADF-användargränssnittet eller Azure PowerShell och skapa din nya ADF/Azure-SSIS IR med namnet YourNewADF/YourNewAzureSSISIR i en annan region. Om du använder Azure-portalen/ADF-användargränssnittet kan du ignorera testanslutningsfelet på sidan Distributionsinställningar i installationsfönstret för Integration Runtime.

Du kan överväga dessa andra konfigurationsalternativ för din Azure-SSIS IR: