Mengonfigurasi runtime integrasi Azure-SSIS untuk kelangsungan bisnis dan pemulihan bencana (BCDR)

BERLAKU UNTUK:Azure Data Factory Azure Synapse Analytics

Tip

Cobalah Data Factory di Microsoft Fabric, solusi analitik all-in-one untuk perusahaan. Microsoft Fabric mencakup semuanya mulai dari pergerakan data hingga ilmu data, analitik real time, kecerdasan bisnis, dan pelaporan. Pelajari cara memulai uji coba baru secara gratis!

Azure SQL Database/Managed Instances dan SQL Server Integration Services (SSIS) di Azure Data Factory (ADF) atau Synapse Pipelines dapat digabungkan sebagai solusi semua-Platform sebagai Layanan (PaaS) yang direkomendasikan untuk migrasi SQL Server. Anda dapat menyebarkan proyek SSIS Anda ke dalam database katalog SSIS (SSISDB) yang dihosting oleh Azure SQL Database/Manged Instance dan menjalankan paket SSIS Anda di Azure SSIS integration runtime (IR) di ADF atau Synapse Pipelines.

Untuk kelangsungan bisnis dan pemulihan bencana (BCDR), Azure SQL Database/Managed Instance dapat dikonfigurasi dengan grup replikasi/failover geografis, di mana SSISDB di wilayah Azure utama dengan akses baca-tulis (peran utama) akan terus direplikasi ke wilayah sekunder dengan akses baca-saja (peran sekunder). Ketika bencana terjadi di wilayah utama, failover akan dipicu, di mana SSISDB primer dan sekunder akan bertukar peran.

Untuk BCDR, Anda juga dapat mengonfigurasi pasangan runtime integrasi Azure SSIS siaga ganda yang bekerja selaras dengan grup failover Azure SQL Database/Managed Instance. Ini memungkinkan Anda untuk memiliki sepasang runtime integrasi Azure-SSIS yang pada waktu tertentu, hanya satu yang dapat mengakses SSISDB utama untuk mengambil dan menjalankan paket, serta menulis log eksekusi paket (peran utama), sementara yang lain hanya dapat melakukan hal yang sama untuk paket yang disebarkan di tempat lain, misalnya di Azure Files (peran sekunder). Ketika failover SSISDB terjadi, runtime integrasi Azure-SSIS primer dan sekunder juga akan bertukar peran dan jika keduanya berjalan, downtime akan mendekati nol.

Artikel ini menjelaskan cara mengonfigurasi runtime integrasi Azure-SSIS dengan grup failover Azure SQL Database/Managed Instance untuk BCDR.

Mengonfigurasi pasangan runtime integrasi Azure-SSIS siaga ganda dengan grup failover Azure SQL Database

Untuk mengonfigurasi pasangan runtime integrasi Azure-SSIS siaga ganda yang bekerja selaras dengan grup failover Azure SQL Database, selesaikan langkah-langkah berikut.

  1. Dengan menggunakan antarmuka pengguna portal Microsoft Azure/ADF, Anda dapat membuat runtime integrasi Azure-SSIS baru dengan server Azure SQL Database utama Anda untuk menghost SSISDB di wilayah utama. Jika Anda memiliki runtime integrasi Azure-SSIS yang sudah dilampirkan ke SSIDB yang dihost oleh server Azure SQL Database utama Anda dan masih berjalan, Anda harus menghentikannya terlebih dahulu untuk mengonfigurasi ulang. Ini akan menjadi runtime integrasi Azure-SSIS utama Anda.

    Saat memilih untuk menggunakan SSISDB pada halaman Pengaturan penyebaran panel Penyetelan runtime integrasi, pilih juga kotak centang Gunakan pasangan Azure-SSIS Integration Runtime siaga ganda dengan failover SSISDB. Untuk Nama pasangan siaga ganda, masukkan nama untuk mengidentifikasi pasangan runtime integrasi Azure-SSIS primer dan sekunder Anda. Ketika Anda menyelesaikan pembuatan runtime integrasi Azure-SSIS utama Anda, itu akan dimulai dan dilampirkan ke SSISDB utama yang akan dibuat atas nama Anda dengan akses baca-tulis. Jika Anda baru saja mengonfigurasi ulang, Anda perlu memulai ulang.

  2. Dengan menggunakan portal Microsoft Azure, Anda dapat memeriksa apakah SSISDB utama telah dibuat pada halaman Gambaran Umum server Microsoft Azure SQL Database utama Anda. Setelah dibuat, Anda dapat membuat grup failover untuk server Microsoft Azure SQL Database utama dan sekunder Anda dan menambahkan SSISDB ke dalamnya di halaman Grup Failover. Setelah grup failover Anda dibuat, Anda dapat memeriksa apakah SSISDB utama telah direplikasi ke grup sekunder dengan akses baca-saja pada halaman Gambaran Umum server Microsoft Azure SQL Database sekunder Anda.

  3. Dengan menggunakan antarmuka pengguna portal Microsoft Azure/ADF, Anda dapat membuat runtime integrasi Azure-SSIS lain dengan server Azure SQL Database sekunder Anda untuk menghost SSISDB di wilayah sekunder. Ini akan menjadi runtime integrasi Azure-SSIS sekunder Anda. Untuk BCDR lengkap, pastikan semua sumber daya yang bergantung padanya juga dibuat di wilayah sekunder, misalnya Azure Storage untuk menyimpan skrip/file penyiapan kustom, ADF untuk eksekusi paket orkestrasi/penjadwalan, dll.

    Saat memilih untuk menggunakan SSISDB pada halaman Pengaturan penyebaran panel Penyetelan runtime integrasi, pilih juga kotak centang Gunakan pasangan Azure-SSIS Integration Runtime siaga ganda dengan failover SSISDB. Untuk Nama pasangan siaga ganda, masukkan nama yang sama untuk mengidentifikasi pasangan runtime integrasi Azure-SSIS primer dan sekunder Anda. Ketika Anda menyelesaikan pembuatan runtime integrasi Azure-SSIS sekunder Anda, itu akan dimulai dan dilampirkan ke SSISDB sekunder.

  4. Jika Anda ingin mengalami downtime mendekati nol saat failover SSISDB terjadi, jaga agar kedua runtime integrasi Azure-SSIS Anda tetap berjalan. Hanya runtime integrasi Azure-SSIS utama Anda yang dapat mengakses SSISDB utama untuk mengambil dan menjalankan paket, serta menulis log eksekusi paket, sementara runtime integrasi Azure-SSIS sekunder Anda hanya dapat melakukan hal yang sama untuk paket yang disebarkan di tempat lain, misalnya di Azure Files.

    Jika Ingin meminimalkan biaya operasional, Anda dapat menghentikan runtime integrasi Azure-SSIS sekunder setelah dibuat. Ketika failover SSISDB terjadi, runtime integrasi Azure-SSIS primer dan sekunder Anda akan bertukar peran. Jika runtime integrasi Azure-SSIS utama Anda dihentikan, Anda perlu memulai ulang. Tergantung pada apakah runtime integrasi disuntikkan ke jaringan virtual atau tidak dan metode injeksi yang digunakan, akan memakan waktu 5 menit atau sekitar 20 - 30 menit agar runtime integrasi berjalan.

  5. Jika Anda menggunakan ADF untuk eksekusi paket orkestrasi / penjadwalan, pastikan bahwa semua alur ADF yang relevan dengan aktivitas Paket Execute SSIS dan pemicu terkait disalin ke ADF sekunder Anda dengan pemicu yang awalnya dinonaktifkan. Ketika failover SSISDB terjadi, Anda perlu mengaktifkannya.

  6. Anda dapat menguji grup failover Azure SQL Database Anda dan memeriksa di halaman pemantauan Azure-SSIS IR di portal ADF apakah runtime integrasi Azure-SSIS utama dan sekunder Anda telah bertukar peran.

Mengonfigurasi pasangan runtime integrasi Azure-SSIS siaga ganda dengan grup failover Azure SQL Managed Instance

Untuk mengonfigurasi pasangan runtime integrasi Azure-SSIS siaga ganda yang bekerja selaras dengan grup failover Azure SQL Managed Instance, selesaikan langkah-langkah berikut.

  1. Dengan menggunakan portal Microsoft Azure, Anda dapat membuat grup failover untuk Azure SQL Managed Instance utama dan sekunder Anda di halaman Grup Failover Azure SQL Managed Instance utama Anda.

  2. Dengan menggunakan antarmuka pengguna portal Microsoft Azure/ADF, Anda dapat membuat runtime integrasi Azure-SSIS baru dengan server Azure SQL Managed Instance utama Anda untuk menghost SSISDB di wilayah utama. Jika Anda memiliki runtime integrasi Azure-SSIS yang sudah dilampirkan ke SSIDB yang dihost oleh server Azure SQL Managed Instance utama Anda dan masih berjalan, Anda harus menghentikannya terlebih dahulu untuk mengonfigurasi ulang. Ini akan menjadi runtime integrasi Azure-SSIS utama Anda.

    Saat memilih untuk menggunakan SSISDB pada halaman Pengaturan penyebaran panel Penyetelan runtime integrasi, pilih juga kotak centang Gunakan pasangan Azure-SSIS Integration Runtime siaga ganda dengan failover SSISDB. Untuk Nama pasangan siaga ganda, masukkan nama untuk mengidentifikasi pasangan runtime integrasi Azure-SSIS primer dan sekunder Anda. Ketika Anda menyelesaikan pembuatan runtime integrasi Azure-SSIS utama Anda, itu akan dimulai dan dilampirkan ke SSISDB utama yang akan dibuat atas nama Anda dengan akses baca-tulis. Jika Anda baru saja mengonfigurasi ulang, Anda perlu memulai ulang. Anda juga dapat memeriksa apakah SSISDB utama telah direplikasi ke yang sekunder dengan akses baca-saja pada halaman Gambaran Umum Azure SQL Managed Instance sekunder Anda.

  3. Dengan menggunakan antarmuka pengguna portal Microsoft Azure/ADF, Anda dapat membuat runtime integrasi Azure-SSIS lain dengan server Azure SQL Managed Instance sekunder Anda untuk menghost SSISDB di wilayah sekunder. Ini akan menjadi runtime integrasi Azure-SSIS sekunder Anda. Untuk BCDR lengkap, pastikan semua sumber daya yang bergantung padanya juga dibuat di wilayah sekunder, misalnya Azure Storage untuk menyimpan skrip/file penyiapan kustom, ADF untuk eksekusi paket orkestrasi/penjadwalan, dll.

    Saat memilih untuk menggunakan SSISDB pada halaman Pengaturan penyebaran panel Penyetelan runtime integrasi, pilih juga kotak centang Gunakan pasangan Azure-SSIS Integration Runtime siaga ganda dengan failover SSISDB. Untuk Nama pasangan siaga ganda, masukkan nama yang sama untuk mengidentifikasi pasangan runtime integrasi Azure-SSIS primer dan sekunder Anda. Ketika Anda menyelesaikan pembuatan runtime integrasi Azure-SSIS sekunder Anda, itu akan dimulai dan dilampirkan ke SSISDB sekunder.

  4. Azure SQL Managed Instance dapat mengamankan data sensitif dalam database, seperti SSISDB, dengan mengenkripsinya menggunakan Kunci Master Database (DMK). DMK sendiri pada gilirannya dienkripsi menggunakan Kunci Master Layanan (SMK) secara default. Sejak September 2021, SMK direplikasi dari Azure SQL Managed Instance utama Anda ke Instans sekunder Anda selama pembuatan grup failover. Jika grup failover Anda dibuat sebelumnya, harap hapus semua database pengguna, termasuk SSISDB, dari Azure SQL Managed Instance sekunder Anda dan buat ulang grup failover Anda.

  5. Jika Anda ingin mengalami downtime mendekati nol saat failover SSISDB terjadi, jaga agar kedua runtime integrasi Azure-SSIS Anda tetap berjalan. Hanya runtime integrasi Azure-SSIS utama Anda yang dapat mengakses SSISDB utama untuk mengambil dan menjalankan paket, serta menulis log eksekusi paket, sementara runtime integrasi Azure-SSIS sekunder Anda hanya dapat melakukan hal yang sama untuk paket yang disebarkan di tempat lain, misalnya di Azure Files.

    Jika Ingin meminimalkan biaya operasional, Anda dapat menghentikan runtime integrasi Azure-SSIS sekunder setelah dibuat. Ketika failover SSISDB terjadi, runtime integrasi Azure-SSIS primer dan sekunder Anda akan bertukar peran. Jika runtime integrasi Azure-SSIS utama Anda dihentikan, Anda perlu memulai ulang. Tergantung pada apakah runtime integrasi disuntikkan ke jaringan virtual atau tidak dan metode injeksi yang digunakan, akan memakan waktu 5 menit atau sekitar 20 - 30 menit agar runtime integrasi berjalan.

  6. Jika Anda menggunakan Agen Azure SQL Managed Instance untuk eksekusi paket orkestrasi/penjadwalan, pastikan bahwa semua pekerjaan SSIS yang relevan dengan langkah pekerjaan mereka dan jadwal terkait disalin ke Azure SQL Managed Instance sekunder Anda dengan jadwal yang awalnya dinonaktifkan. Dengan menggunakan SQL Server Management Studio, selesaikan langkah-langkah berikut.

    1. Untuk setiap tugas SSIS, klik kanan dan pilih item menu dropdown Skrip Pekerjaan sebagai, CREATE Ke, dan Jendela Editor Kueri Baru untuk menghasilkan skripnya.

      Generate SSIS job script

    2. Untuk setiap skrip pekerjaan SSIS yang dihasilkan, temukan perintah untuk menjalankan prosedur tersimpan sp_add_job dan modifikasi/hapus penetapan nilai ke argumen @owner_login_name seperlunya.

    3. Untuk setiap skrip pekerjaan SSIS yang diperbarui, jalankan di Azure SQL Managed Instance sekunder Anda untuk menyalin pekerjaan dengan langkah-langkah pekerjaan dan jadwal terkait.

    4. Dengan menggunakan skrip berikut, buat pekerjaan T-SQL baru untuk mengaktifkan/menonaktifkan jadwal pekerjaan SSIS yang masing-masing berdasarkan peran SSISDB utama/sekunder dalam Azure SQL Managed Instance utama dan sekunder Anda dan jalankan secara teratur. Ketika failover SSISDB terjadi, jadwal pekerjaan SSIS yang dinonaktifkan akan diaktifkan dan sebaliknya.

      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. Jika Anda menggunakan ADF untuk eksekusi paket orkestrasi / penjadwalan, pastikan bahwa semua alur ADF yang relevan dengan aktivitas Paket Execute SSIS dan pemicu terkait disalin ke ADF sekunder Anda dengan pemicu yang awalnya dinonaktifkan. Ketika failover SSISDB terjadi, Anda perlu mengaktifkannya.

  8. Anda dapat menguji grup failover Azure SQL Managed Instance Anda dan memeriksa di halaman pemantauan runtime integrasi Azure-SSIS di portal ADF apakah runtime integrasi Azure-SSIS utama dan sekunder Anda telah bertukar peran.

Melampirkan runtime integrasi Azure-SSIS baru ke SSISDB yang sudah ada yang dihost oleh Azure SQL Database/Managed Instance

Jika bencana terjadi dan berdampak pada runtime integrasi Azure-SSIS Anda tetapi tidak pada Azure SQL Database/Instans Terkelola di wilayah yang sama, Anda dapat menggantinya dengan yang baru di wilayah lain. Untuk melampirkan SSISDB yang sudah ada yang dihost oleh Azure SQL Database/Managed Instance ke runtime integrasi Azure-SSIS baru, selesaikan langkah-langkah berikut.

  1. Jika runtime integrasi Azure-SSIS Anda masih berjalan, Anda harus menghentikannya terlebih dahulu menggunakan antarmuka pengguna portal Microsoft Azure/ADF atau Azure PowerShell. Jika bencana juga berdampak pada ADF di wilayah yang sama, Anda dapat melewati langkah ini.

  2. Dengan menggunakan SQL Server Management Studio, jalankan perintah berikut untuk SSISDB di Azure SQL Database/Managed Instance Anda untuk memperbarui metadata yang akan memungkinkan koneksi dari runtime integrasi ADF/Azure-SSIS baru Anda.

    EXEC [catalog].[failover_integration_runtime] @data_factory_name = 'YourNewADF', @integration_runtime_name = 'YourNewAzureSSISIR'
    
  3. Dengan menggunakan antarmuka pengguna portal Microsoft Azure/ADF atau Azure PowerShell, buat runtime integrasi ADF/Azure-SSIS baru Anda yang masing-masing bernama YourNewADF/YourNewAzureSSISIR, di wilayah lain. Jika Anda menggunakan antarmuka pengguna portal Microsoft Azure/ADF, Anda bisa mengabaikan kesalahan koneksi pengujian pada halaman Pengaturan penyebaran dari panel penyetelan runtime Integrasi.

Anda dapat mempertimbangkan opsi konfigurasi lainnya ini untuk runtime integrasi Azure-SSIS Anda: