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
- Cara kerja migrasi DAG
- Database sumber dan tujuan yang didukung
- Batasan umum untuk migrasi DAG
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:
- 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. - Endpoint Database Mirroring (
DBM) (default5022): 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 portDBM.
Fase siklus proses migrasi
Tugas migrasi DAG berjalan melalui empat fase siklus proses:
- 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. - Replikasi berkelanjutan (
CDC): Setelah setiap database menyelesaikan pemuatan penuh awal, database tersebut akan beralih ke faseCDC. Perubahan berkelanjutan yang dilakukan pada database sumber direplikasi secara terus-menerus melalui endpointDBM, dan Anda dapat terhubung ke instance Cloud SQL untuk SQL Server tujuan untuk menjalankan kueri verifikasi hanya baca terhadap database yang direplikasi. - Promosi dan replikasi terbalik (
FAILBACK): Saat Anda mempromosikan tugas migrasi (promotetanpa 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 keFAILBACK(PHASE_FAILBACKdalam respons Google Cloud CLI dan API). Saat berada dalam faseFAILBACK, tugas migrasi tetap dalam statusRunningdan mereplikasi penulisan baru dari Cloud SQL untuk SQL Server kembali ke instance SQL Server sumber Anda. - Peralihan, penghentian, atau penyelesaian failback (
StopdanDelete):- Jika Anda perlu mengembalikan migrasi selama fase
FAILBACK, Anda dapat menjalankan perintahpromotedengan flag--failback(failback = truedi 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 faseCDC. - Anda dapat menjalankan
stopuntuk menghentikan replikasi data selama periode singkat yang ditentukan (update terus terakumulasi dalam log transaksi saat replikasi dihentikan). Dari statusStopped, Anda dapat menjalankanresumeuntuk melanjutkan replikasi data, atau menjalankandeleteuntuk 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 statusStopped). 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.
- Jika Anda perlu mengembalikan migrasi selama fase
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
(
.mdfdan.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 darisake 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.
- Database sumber tidak boleh dimiliki oleh login
- 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 supportsecara 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
RESTORINGdi 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
FAILBACKpasca-promosi tidak didukung (Grup Ketersediaan tujuan tidak diperbarui dengan database baru yang dibuat di Cloud SQL).
- Anda dapat menambahkan atau menghapus database secara dinamis di Grup Ketersediaan sumber saat tugas migrasi berada dalam fase
- 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 statusStopped, Anda dapat menjalankanresumeuntuk melanjutkan replikasi data, atau menjalankandeleteuntuk 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.
- Menghentikan (
Langkah berikutnya
- Melakukan migrasi dari SQL Server yang dikelola sendiri menggunakan Grup Ketersediaan Terdistribusi
- Memigrasikan database SQL Server menggunakan file cadangan Cloud Storage