Tentang migrasi Distributed Availability Group (DAG)

Selain alur migrasi pencadangan dan pemulihan Cloud Storage standar, Database Migration Service mendukung migrasi database SQL Server yang dikelola sendiri ke Cloud SQL untuk SQL Server menggunakan Grup Ketersediaan Terdistribusi (DAG) SQL Server.

Alih-alih mengekspor dan mengupload file cadangan dan log transaksi ke bucket Cloud Storage, Database Migration Service mengonfigurasi Distributed Availability Group antara Availability Group sumber dan Availability Group sekunder terkelola di instance Cloud SQL untuk SQL Server tujuan Anda. Konfigurasi ini menstreaming pemuatan penuh awal dan perubahan database yang sedang berlangsung secara langsung melalui koneksi jaringan pribadi.

Halaman ini membahas beberapa topik berikut:

Kapan harus menggunakan migrasi DAG

Tabel berikut membandingkan migrasi pencadangan dan pemulihan standar dengan migrasi Distributed Availability Group (DAG) untuk membantu Anda memilih pendekatan terbaik untuk workload Anda:

Fitur atau persyaratan Migrasi pencadangan dan pemulihan standar (Panduan migrasi standar) Migrasi Distributed Availability Group (DAG) (panduan migrasi DAG)
Sumber yang didukung SQL Server yang dikelola sendiri, Amazon RDS, dan Cloud SQL untuk SQL Server. SQL Server yang dikelola sendiri (Enterprise Edition) dengan grup ketersediaan Always On.
Mekanisme perpindahan data File pencadangan penuh (.bak), pencadangan diferensial opsional (.diff), dan log transaksi (.trn) yang di-stage di Cloud Storage. Streaming jaringan langsung melalui endpoint Pencerminan Database SQL Server (DBM) (tidak memerlukan file cadangan atau bucket Cloud Storage).
Konektivitas jaringan Tidak diperlukan konektivitas antara sumber dan tujuan. Konektivitas IP pribadi dua arah diperlukan pada port database SQL Server (default 1433) dan port Database Mirroring (default 5022).
Akses database tujuan selama migrasi Database tetap dalam mode RESTORING (tidak dapat diakses oleh kueri) hingga dipromosikan. Database dapat diakses dalam mode hanya baca selama fase replikasi berkelanjutan (CDC).
Failback pasca-promosi Tidak didukung (promosi satu arah). Replikasi balik bawaan (fase FAILBACK) dari Cloud SQL untuk SQL Server kembali ke instance SQL Server sumber setelah promosi, dengan dukungan untuk pengalihan failback tanpa kehilangan data.

Cara kerja migrasi DAG

Selama migrasi DAG, Database Migration Service mengatur replikasi data antara Grup Ketersediaan sumber dan Grup Ketersediaan sekunder terkelola di instance Cloud SQL untuk SQL Server tujuan Anda.

Saluran komunikasi jaringan

Database Migration Service menggunakan dua saluran komunikasi jaringan pribadi antara instance SQL Server sumber dan instance Cloud SQL untuk SQL Server tujuan:

  1. Server Tertaut SQL Server (port database, default 1433): Database Migration Service menggunakan Server Tertaut yang dikonfigurasi pada instance Cloud SQL untuk SQL Server tujuan untuk menjalankan kueri administratif dan orkestrasi pada instance SQL Server sumber.
  2. Endpoint Database Mirroring (DBM) (default 5022): Grup Ketersediaan sumber dan Grup Ketersediaan Cloud SQL untuk SQL Server tujuan bertukar data pemuatan penuh awal yang diautentikasi sertifikat dan perubahan database yang sedang berlangsung secara langsung melalui port DBM.

Fase siklus proses migrasi

Tugas migrasi DAG berjalan melalui empat fase siklus proses:

  1. Pemuatan penuh awal (FULL_DUMP): Saat Anda memulai tugas migrasi, Database Migration Service mengonfigurasi Grup Ketersediaan Terdistribusi untuk melakukan streaming salinan penuh awal semua database di Grup Ketersediaan sumber melalui jaringan ke instance Cloud SQL untuk SQL Server tujuan.
  2. Replikasi berkelanjutan (CDC): Setelah setiap database menyelesaikan pemuatan penuh awal, database tersebut akan beralih ke fase CDC. Perubahan berkelanjutan yang dilakukan pada database sumber direplikasi secara terus-menerus melalui endpoint DBM, dan Anda dapat terhubung ke instance Cloud SQL untuk SQL Server tujuan untuk menjalankan kueri verifikasi hanya baca terhadap database yang direplikasi.
  3. Promosi dan replikasi terbalik (FAILBACK): Saat Anda mempromosikan tugas migrasi (promote tanpa flag --failback), Database Migration Service akan menyinkronkan kedua Grup Ketersediaan, membalik perannya sehingga instance Cloud SQL untuk SQL Server tujuan menjadi Primer baca/tulis dan instance SQL Server sumber asli Anda menjadi Sekunder, dan mentransisikan fase tugas migrasi ke FAILBACK (PHASE_FAILBACK dalam respons Google Cloud CLI dan API). Saat berada dalam fase FAILBACK, tugas migrasi tetap dalam status Running dan mereplikasi penulisan baru dari Cloud SQL untuk SQL Server kembali ke instance SQL Server sumber Anda.
  4. Peralihan, penghentian, atau penyelesaian failback (Stop dan Delete):
    • Jika Anda perlu mengembalikan migrasi selama fase FAILBACK, Anda dapat menjalankan perintah promote dengan flag --failback (failback = true di API) untuk melakukan peralihan failback tanpa kehilangan data yang memulihkan instance SQL Server sumber asli Anda sebagai Utama, mendemosikan Cloud SQL untuk SQL Server kembali ke Sekunder, dan mengembalikan tugas migrasi ke fase CDC.
    • Anda dapat menjalankan stop untuk menghentikan replikasi data selama periode singkat yang ditentukan (update terus terakumulasi dalam log transaksi saat replikasi dihentikan). Dari status Stopped, Anda dapat menjalankan resume untuk melanjutkan replikasi data, atau menjalankan delete untuk menyelesaikan migrasi dan melakukan pembersihan yang diperlukan.
    • Setelah mengonfirmasi bahwa peralihan ke Cloud SQL untuk SQL Server bersifat permanen, Anda menghapus (delete) tugas migrasi (baik secara langsung maupun dari status Stopped). Menghapus tugas migrasi akan menyelesaikan migrasi, menghapus Grup Ketersediaan Terdistribusi dan sertifikat di kedua instance, serta memungkinkan Anda mengaktifkan fitur Cloud SQL untuk SQL Server yang diblokir selama migrasi, seperti Pemulihan point-in-time (PITR) dan replika baca.

Database sumber dan tujuan yang didukung

Migrasi DAG mendukung edisi dan versi database sumber dan tujuan berikut:

  • Database sumber: SQL Server Enterprise Edition yang dikelola sendiri (versi 2017, 2019, 2022, dan 2025) dengan fitur Grup ketersediaan Always On diaktifkan (di Windows atau Linux).
  • Database tujuan: Cloud SQL untuk SQL Server Enterprise Edition (versi 2017, 2019, 2022, dan 2025).

Batasan umum untuk migrasi DAG

Pertimbangkan batasan berikut sebelum Anda mengonfigurasi migrasi DAG:

  • Pembuatan profil koneksi DAG dan pembuatan, verifikasi, memulai, mempromosikan, atau penghapusan tugas migrasi DAG hanya didukung melalui Google Cloud CLI atau Database Migration Service API. Anda dapat memantau progres tugas migrasi DAG, status per database, dan metrik di konsol Google Cloud .
  • Instance SQL Server sumber dan instance Cloud SQL untuk SQL Server tujuan harus menjalankan Enterprise Edition. Sumber Amazon RDS dan Cloud SQL untuk SQL Server tidak didukung untuk migrasi DAG.
  • Setiap tugas migrasi DAG memigrasikan semua database yang terdapat dalam satu Grup Ketersediaan sumber (hingga batas 100 database per Grup Ketersediaan Terdistribusi). Database sistem (master, model, msdb, tempdb) dan database bantuan Database Migration Service (gcp_dms_db) tidak dimigrasikan.
  • Semua database di Grup Ketersediaan sumber harus menyimpan file datanya (.mdf dan .ndf) di direktori data SQL Server default.
  • Persyaratan kepemilikan database:
    • Database sumber tidak boleh dimiliki oleh login sa. Sebelum memulai tugas migrasi, ubah pemilik database dari sa ke login SQL atau pengguna Windows lain.
    • Jika database sumber dimiliki oleh pengguna Windows Active Directory, Anda harus mengubah pemilik database sumber menjadi login SQL sebelum bermigrasi, atau mengintegrasikan instance Cloud SQL untuk SQL Server tujuan dengan Active Directory sehingga Database Migration Service dapat otomatis membuat login Windows yang sesuai di instance tujuan saat tugas migrasi dimulai.
    • Untuk pemilik database yang diautentikasi SQL, Database Migration Service secara otomatis membuat login yang sesuai di instance Cloud SQL untuk SQL Server tujuan dengan awalan gcp_dms_, ID 6 karakter, dan nama pemilik sumber (misalnya, gcp_dms_a1b2c3_myowner) untuk memiliki database yang dimigrasikan.
  • Konektivitas IP publik tidak didukung. Anda harus mengonfigurasi konektivitas IP pribadi antara instance SQL Server sumber dan instance Cloud SQL untuk SQL Server tujuan menggunakan Akses Layanan Pribadi atau Private Service Connect.
  • Batasan Cloud SQL untuk SQL Server tujuan saat tugas migrasi DAG ada: Dari saat Anda memulai tugas migrasi DAG hingga Anda menghapus tugas migrasi (termasuk saat tugas berada dalam fase pasca-promosi FAILBACK):
    • Pemulihan point-in-time (PITR) harus dinonaktifkan di instance Cloud SQL untuk SQL Server tujuan.
    • Replika baca dan kumpulan baca tidak didukung di instance Cloud SQL untuk SQL Server tujuan.
    • Pemeliharaan terencana periode nonaktif yang mendekati nol tidak didukung di instance Cloud SQL untuk SQL Server tujuan.
    • Jangan mengubah flag database cloud sql enable dag support secara manual di instance Cloud SQL untuk SQL Server tujuan; Database Migration Service mengaktifkan flag ini secara otomatis saat tugas migrasi dimulai, dan Anda dapat menghapusnya setelah menghapus tugas migrasi.
  • Menambahkan atau menghapus database selama migrasi:
    • Anda dapat menambahkan atau menghapus database secara dinamis di Grup Ketersediaan sumber saat tugas migrasi berada dalam fase CDC. Database Migration Service secara otomatis mendeteksi database yang baru ditambahkan, memvalidasinya, dan melakukan pemuatan penuh awal ke instance Cloud SQL untuk SQL Server tujuan.
    • Menghapus database dari Grup Ketersediaan sumber akan menghentikan replikasi untuk database tersebut, menghapusnya dari objek yang dilacak tugas migrasi, dan membiarkan database dalam status RESTORING di instance Cloud SQL untuk SQL Server tujuan (database tidak dipulihkan saat tugas dipromosikan).
    • Menambahkan database baru langsung di instance Cloud SQL untuk SQL Server tujuan selama fase FAILBACK pasca-promosi tidak didukung (Grup Ketersediaan tujuan tidak diperbarui dengan database baru yang dibuat di Cloud SQL).
  • Peringatan untuk menghentikan, melanjutkan, dan memulai ulang tugas migrasi DAG:
    • Menghentikan (stop) tugas migrasi DAG akan menghentikan replikasi data, sehingga update terakumulasi dalam log transaksi saat replikasi dihentikan. Hentikan tugas migrasi DAG hanya untuk jangka waktu singkat yang ditentukan agar disk log transaksi tidak penuh. Dari status Stopped, Anda dapat menjalankan resume untuk melanjutkan replikasi data, atau menjalankan delete untuk menyelesaikan migrasi dan melakukan pembersihan yang diperlukan.
    • Memulai ulang (restart) tugas migrasi DAG yang gagal atau dihentikan akan menghapus database yang dimigrasikan di instance Cloud SQL untuk SQL Server tujuan dan menjalankan ulang pemuatan penuh awal (FULL_DUMP) melalui jaringan.

Langkah berikutnya