Рекомендации по обеспечению непрерывности бизнес-процессов и аварийного восстановления (BCDR) для среды выполнения интеграции Azure-SSIS

Область применения:Фабрика данных Azure Azure Synapse Analytics

Совет

Попробуйте использовать фабрику данных в Microsoft Fabric, решение для аналитики с одним интерфейсом для предприятий. Microsoft Fabric охватывает все, от перемещения данных до обработки и анализа данных в режиме реального времени, бизнес-аналитики и отчетности. Узнайте, как бесплатно запустить новую пробную версию !

База данных SQL Azure, Управляемый экземпляр и SQL Server Integration Services (SSIS) в Фабрике данных Azure (ADF) или в конвейерах Synapse можно сочетать в качестве рекомендуемого решения целиком по принципу "Платформа как услуга" (PaaS) для миграции SQL Server. Можно выполнять развертывание служб SSIS в базе данных каталога SSIS (SSISDB), размещенной в Базе данных SQL/управляемом экземпляре Azure и запускать пакеты служб SSIS в среде выполнения интеграции Azure SSIS (IR) в ADF или конвейере Synapse.

Для обеспечения непрерывности бизнес-процессов и аварийного восстановления (BCDR) База данных SQL/управляемый экземпляр Azure можно настроить с помощью группы георепликации или отработки отказа, где SSISDB в основном регионе Azure с доступом для чтения и записи (первичная роль) будет непрерывно реплицироваться в дополнительный регион с доступом только для чтения (вторичная роль). При возникновении сбоя в основном регионе активируется отработка отказа, где первичная и вторичная SSISDB меняются ролями.

Для BCDR можно также настроить двойное резервирование IR Azure SSIS, работающее в синхронизации с группой отработки отказа Базы данных или управляемого экземпляра SQL Azure. Это позволяет иметь пару запущенных служб Azure SSIS IR, которые в любой момент времени могут получить доступ только к первичной базе данных SSISDB для получения и выполнения пакетов, а также для записи журналов выполнения пакетов (первичной роли), а другая — для пакетов, развернутых в других местах, например в службе Файлов Azure (вторичная роль). Когда происходит отработка отказа SSISDB, первичная и вторичная IR Azure-SSIS также меняются ролями, и если обе работают, то время простоя почти равно нулю.

В этой статье описывается, как настроить Azure-SSIS IR с помощью группы отработки отказа Базы данных или управляемого экземпляра SQL Azure для BCDR.

Настройка пары двойного резервирования Azure-SSIS IR с помощью группы отработки отказа Базы данных SQL Azure

Чтобы настроить пару двойного резервирования Azure-SSIS IR, которое работает в синхронизации с группой отработки отказа Базы данных SQL Azure, выполните следующие действия.

  1. С помощью пользовательского интерфейса портал Azure или ADF можно создать новую среду Azure-SSIS IR с основным сервером Базы данных SQL Azure для размещения SSISDB в основном регионе. Если у вас есть Azure-SSIS IR, уже подключенная к SSIDB, которая размещена на основном сервере Базы данных SQL Azure и по-прежнему работает, ее необходимо сначала остановить для перенастройки. Это будет основная среда Azure-SSIS IR.

    При выборе использования SSISDB на странице Параметры развертывания панели Настройка среды выполнения интеграции установите флажок Использовать пару двойного резервирования Azure-SSIS Integration Runtime с отработкой отказа через SSISDB. В качестве имени пары двойного резервирования введите имя, чтобы обозначить пару первичной и вторичной Azure-SSIS IR. После завершения создания первичной Azure-SSIS IR среда будет запущена и подключена к первичной SSISDB, которая будет создана от вашего имени с доступом для чтения и записи. Если вы только что настроили эту базу данных, ее необходимо перезапустить.

  2. С помощью портала Azure можно проверить, создана ли первичная SSISDB, — на странице обзора основного сервера Базы данных SQL Azure. После создания группы отработки отказа для основного и дополнительного серверов базы данных SQL Azure, а также для добавления SSISDB на страницу группы отработки отказа. После создания группы отработки отказа можно проверить, реплицируется ли первичная SSISDB в базу данных-получатель с доступом только для чтения на странице Обзор сервера-получателя SQL Server Azure.

  3. С помощью пользовательского интерфейса портал Azure или ADF можно создать другую среду Azure-SSIS IR с вторичным сервером базы данных SQL Azure для размещения SSISDB в основном регионе. Это будет вторичная среда Azure-SSIS IR. Чтобы обеспечить непрерывность бизнес-процессов и аварийное восстановление, убедитесь, что все ресурсы, от которых это зависит, также создаются в дополнительном регионе, например в хранилище Azure для хранения сценария или файлов настраиваемой установки, ADF для согласования и планирования выполнения пакетов и т. д.

    При выборе использования SSISDB на странице Параметры развертывания панели Настройка среды выполнения интеграции установите флажок Использовать пару двойного резервирования Azure-SSIS Integration Runtime с отработкой отказа через SSISDB. В качестве имени пары двойного резервирования введите то же имя, чтобы обозначить пару первичной и вторичной Azure-SSIS IR. После завершения создания вторичной среды Azure-SSIS IR она будет запущена и подключена к вторичной базе данных SSISDB.

  4. Если при отработке отказа SSISDB требуется обеспечить околонулевое время простоя, обе среды Azure-SSIS IR должны работать. Только первичная среда Azure-SSIS IR имеет доступ к первичной базе данных SSISDB для получения и выполнения пакетов, а также для записи журналов выполнения пакетов, в то время как вторичная среда Azure-SSIS IR может сделать то же самое для пакетов, развернутых в другом месте, например в службе Файлов Azure.

    Если нужно ограничить затраты на выполнение, можно остановить вторичную Azure-SSIS IR после ее создания. При отработке отказа SSISDB первичная и вторичная среды Azure-SSIS IR меняются ролями. Если основная среда Azure-SSIS IR остановлена, ее необходимо перезапустить. В зависимости от того, внедряется ли она в виртуальную сеть и какой используется метод внедрения, это может занять от 5 до 20–30 минут.

  5. Если вы используете ADF для согласования или планирования выполнения пакетов, убедитесь, что все соответствующие конвейеры ADF с действиями "выполнение пакета служб SSIS" и "связанные триггеры" копируются в дополнительный ADF-файл с первоначально отключенными триггерами. Когда происходит отработка отказа с помощью SSISDB, их необходимо включить.

  6. Вы можете протестировать группу отработки отказа Базы данных SQL Azure и проверить страницу мониторинга Azure-SSIS IR на портале ADF независимо от того, поменялись ли ролями основная и вторичная среда Azure-SSIS IRS.

Настройка пары двойного резервирования Azure-SSIS IR с помощью группы отработки отказа Управляемого экземпляра SQL Azure

Чтобы настроить пару двойного резервирования Azure-SSIS IR, которое работает в синхронизации с группой отработки отказа Управляемого экземпляра SQL Azure, выполните следующие действия.

  1. С помощью портала Azure можно создать группу отработки отказа для основного и дополнительного Управляемых экземпляров SQL Azure на странице группы отработки отказа основного управляемого экземпляра SQL Azure.

  2. С помощью пользовательского интерфейса портала Azure или ADF можно создать новую среду Azure-SSIS IR с Управляемым экземпляром базы данных SQL Azure для размещения SSISDB в основном регионе. Если имеется среда Azure-SSIS IR, уже подключенная к SSIDB, которая размещена на основном Управляемом экземпляре SQL Azure и по-прежнему работает, ее необходимо сначала остановить для перенастройки. Это будет основная среда Azure-SSIS IR.

    При выборе использования SSISDB на странице Параметры развертывания панели Настройка среды выполнения интеграции установите флажок Использовать пару двойного резервирования Azure-SSIS Integration Runtime с отработкой отказа через SSISDB. В качестве имени пары двойного резервирования введите имя, чтобы обозначить пару первичной и вторичной Azure-SSIS IR. После завершения создания первичной Azure-SSIS IR среда будет запущена и подключена к первичной SSISDB, которая будет создана от вашего имени с доступом для чтения и записи. Если вы только что настроили эту базу данных, ее необходимо перезапустить. Можно также проверить, реплицируется ли первичная SSISDB в базу данных-получатель с доступом только для чтения на странице Обзор Управляемого экземпляра SQL Azure.

  3. С помощью пользовательского интерфейса портала Azure или ADF можно создать новую среду Azure-SSIS IR с основным Управляемым экземпляром SQL Azure для размещения SSISDB в основном регионе. Это будет вторичная среда Azure-SSIS IR. Чтобы обеспечить непрерывность бизнес-процессов и аварийное восстановление, убедитесь, что все ресурсы, от которых это зависит, также создаются в дополнительном регионе, например в хранилище Azure для хранения сценария или файлов настраиваемой установки, ADF для согласования и планирования выполнения пакетов и т. д.

    При выборе использования SSISDB на странице Параметры развертывания панели Настройка среды выполнения интеграции установите флажок Использовать пару двойного резервирования Azure-SSIS Integration Runtime с отработкой отказа через SSISDB. В качестве имени пары двойного резервирования введите то же имя, чтобы обозначить пару первичной и вторичной Azure-SSIS IR. После завершения создания вторичной среды Azure-SSIS IR она будет запущена и подключена к вторичной базе данных SSISDB.

  4. Управляемый экземпляр Azure SQL может защищать конфиденциальные данные в базах данных, например SSISDB, путем их шифрования с помощью главного ключа базы данных (DMK). DMK сам по себе шифруется с помощью главного ключа службы (SMK) по умолчанию. С сентября 2021 года SMK реплицируется из вашего основного Управляемого экземпляра Azure SQL на ваш вторичный экземпляр во время создания группы отработки отказа. Если группа отработки отказа была создана раньше, удалите все пользовательские базы данных, включая SSISDB, из дополнительного Управляемого экземпляра SQL Azure и повторно создайте группу отработки отказа.

  5. Если при отработке отказа SSISDB требуется обеспечить околонулевое время простоя, обе среды Azure-SSIS IR должны работать. Только первичная среда Azure-SSIS IR имеет доступ к первичной базе данных SSISDB для получения и выполнения пакетов, а также для записи журналов выполнения пакетов, в то время как вторичная среда Azure-SSIS IR может сделать то же самое для пакетов, развернутых в другом месте, например в службе Файлов Azure.

    Если нужно ограничить затраты на выполнение, можно остановить вторичную Azure-SSIS IR после ее создания. При отработке отказа SSISDB первичная и вторичная среды Azure-SSIS IR меняются ролями. Если основная среда Azure-SSIS IR остановлена, ее необходимо перезапустить. В зависимости от того, внедряется ли она в виртуальную сеть и какой используется метод внедрения, это может занять от 5 до 20–30 минут.

  6. Если вы используете агент Управляемого экземпляра Azure SQL для согласования или планирования выполнения пакетов, убедитесь, что все соответствующие задания SSIS с шагами задания и связанные расписания копируются во вторичный управляемый экземпляр SQL Azure с изначально отключенными расписаниями. С помощью SSMS выполните следующие действия.

    1. Для каждого задания служб SSIS щелкните правой кнопкой мыши и выберите пункты Создать сценарий задания..., СОЗДАТЬ для и Новое окно редактора запросов в раскрывающемся меню.

      Generate SSIS job script

    2. Для каждого созданного сценария задания служб SSIS найдите команду для выполнения sp_add_job хранимой процедуры и при необходимости измените или удалите присвоение значения аргументу @owner_login_name.

    3. Для каждого обновленного сценария задания служб SSIS запустите его на сервере-получателе Управляемого экземпляра Azure SQL, чтобы скопировать задание с шагами и связанными расписаниями.

    4. С помощью следующего скрипта создайте задание T-SQL, чтобы включить или отключить расписания заданий служб SSIS на основе первичной или вторичной роли SSISDB, соответственно, как в основном, так и во вторичном Управляемых экземплярах SQL Azure, и регулярно запускать его. Когда происходит отработка отказа SSISDB, отключенные расписания заданий служб SSIS будут включены и наоборот.

      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. Если вы используете ADF для согласования или планирования выполнения пакетов, убедитесь, что все соответствующие конвейеры ADF с действиями "выполнение пакета служб SSIS" и "связанные триггеры" копируются в дополнительный ADF-файл с первоначально отключенными триггерами. Когда происходит отработка отказа с помощью SSISDB, их необходимо включить.

  8. Вы можете протестировать группу отработки отказа Управляемого экземпляра SQL Azure и проверить страницу мониторинга Azure-SSIS IR на портале ADF независимо от того, поменялись ли ролями основная и вторичная среда Azure-SSIS IRS.

Присоединение нового Azure-SSIS IR к существующему SSISDB, размещенному в Базе данных или управляемом экземпляре SQL Azure

Если произошел сбой, который повлиял на существующие среды Azure-SSIS IR, но не на Базу данных или управляемый экземпляр SQL Azure в том же регионе, их можно заменить на новые в другом регионе. Чтобы присоединить существующую Базу данных SSISDB, размещенную на сервере или управляемом экземпляре SQL Azure, к новой среде Azure-SSIS IR, выполните следующие действия.

  1. Если существующая среда Azure-SSIS IR все еще работает, ее необходимо сначала остановить с помощью пользовательского интерфейса портала Azure/ADF или PowerShell Azure. Если сбой также влияет на ADF в том же регионе, этот шаг можно пропустить.

  2. С помощью SSMS выполните следующую команду для SSISDB в Базе данных или управляемом экземпляре SQL Azure, чтобы обновить метаданные, которые будут разрешать подключения из новой среды SSIS IR ADF/Azure.

    EXEC [catalog].[failover_integration_runtime] @data_factory_name = 'YourNewADF', @integration_runtime_name = 'YourNewAzureSSISIR'
    
  3. С помощью пользовательского интерфейса на портале Azure/ADF или PowerShell Azure создайте новый ADF или среду Azure-SSIS IR с именем YourNewADF/YourNewAzureSSISIR, соответственно, в другом регионе. При использовании пользовательского интерфейса на портале Azure или ADF можно пропустить страницу проверки ошибок подключения на странице Параметры развертывания панели Настройки среды выполнения интеграции.

Ознакомьтесь со следующими параметрами конфигурации для среды выполнения интеграции Azure-SSIS: