Menyalin atau memindahkan database - Azure SQL Managed Instance

Berlaku untuk:Azure SQL Managed Instance

Artikel ini menjelaskan cara menyalin atau memindahkan database secara online di seluruh instans di Azure SQL Managed Instance. Operasi salinan dan pemindahan database didukung di berbagai langganan Azure dalam penyewa Azure yang sama.

Gambaran Umum

Anda dapat melakukan operasi salinan online atau pemindahan database di seluruh instans terkelola dengan menggunakan teknologi grup ketersediaan AlwaysOn. Fitur salin dan pindahkan membuat database baru pada instans tujuan sebagai salinan database sumber. Dengan fitur ini, replikasi data dapat diandalkan, konsisten, asinkron, dan mendekati real-time.

Saat Anda menyalin database, database sumber tetap online selama operasi dan setelah selesai.

Sebaliknya, saat Anda memindahkan database, database sumber akan dihilangkan setelah operasi selesai.

Anda dapat menjalankan beberapa operasi salinan dan pemindahan database dari instans terkelola sumber ke satu atau beberapa instans target.

Menyalin dan memindahkan database berbeda dari pemulihan titik waktu (PITR) karena membuat salinan database setelah operasi selesai. PITR membuat salinan database dari momen tertentu di masa lalu.

Penting

Saat Anda memindahkan database ke tujuan baru, cadangan PITR yang ada tidak berpindah dengan database, dan tidak tersedia. Database memulai rantai cadangan baru pada instans tujuan saat operasi pemindahan selesai.

Kapan menggunakan fitur

Memindahkan atau menyalin database berguna saat Anda ingin:

  • Mengelola persyaratan pertumbuhan dan performa database.
  • Menyeimbangkan beban kerja di beberapa instans terkelola.
  • Pindahkan database ke instans dengan sumber daya yang lebih tersedia untuk menangani beban kerja.
  • Mengonsolidasikan beberapa database dari beberapa instans.
  • Buat paritas database antara lingkungan pengembangan, pengujian, dan produksi.

Alur kerja

Berikut adalah alur kerja untuk menyalin atau memindahkan database:

  1. Pilih database, instans terkelola sumber, dan instans tujuan, lalu mulai operasi.

    Database akan disemai ke server tujuan. Periksa status untuk menentukan apakah operasi sedang berlangsung atau apakah operasi telah berhasil.

  2. Setelah penyemaian selesai, status operasi menunjukkan siap untuk penyelesaian.

    Hingga operasi selesai secara manual, semua perubahan yang terjadi pada database sumber diterapkan ke database tujuan. Anda dapat membatalkan operasi kapan saja. Anda memiliki waktu 24 jam untuk menyelesaikan operasi secara eksplisit. Jika Anda tidak menyelesaikan operasi dalam waktu 24 jam, operasi akan dibatalkan secara otomatis dan database tujuan dihilangkan.

  3. Setelah Anda menyelesaikan operasi secara manual, database tujuan Anda online dan siap untuk beban kerja baca/tulis.

  4. Jika Anda memilih untuk memindahkan database, database sumber akan dihilangkan. Jika Anda memilih untuk menyalin database, database sumber tetap online, tetapi sinkronisasi data berhenti.

Contoh alur kerja untuk operasi pemindahan diilustrasikan dalam diagram berikut:

Diagram that illustrates the workflow of a move operation.

Desain operasi pemindahan database menjamin tidak ada kehilangan data. Ketika pengguna menyelesaikan operasi pemindahan, database sumber berhenti menerima beban kerja apa pun dan transaksi direplikasi ke database tujuan. Baru setelah itu, database tujuan menjadi online, dan database sumber dihilangkan. Desain ini memastikan semua data dari database sumber dipindahkan ke database tujuan.

Operasi penyalinan database mirip dengan pemindahan database. Satu-satunya perbedaan penting adalah bagaimana operasi berakhir. Menyelesaikan operasi penyalinan database menghentikan replikasi log transaksi ke database tujuan. Meskipun pengguna secara eksplisit mengeluarkan perintah untuk menyelesaikan operasi penyalinan, pengguna tidak mengontrol momen yang tepat saat replikasi log berhenti. Akhirnya, database sumber dan tujuan online, independen, dan siap untuk beban kerja baca-tulis.

Prasyarat

Sebelum bisa menyalin atau memindahkan database, Anda harus memenuhi persyaratan berikut:

  • Anda harus memiliki izin baca untuk grup sumber daya yang berisi instans terkelola sumber, dan Anda harus memiliki izin tulis di tingkat database untuk instans sumber dan tujuan.
  • Jika instans sumber dan tujuan berada di jaringan virtual yang berbeda, harus ada konektivitas jaringan antara jaringan virtual dari dua instans, seperti dengan peering jaringan virtual Azure. Selain itu, lalu lintas masuk dan keluar pada port 5022 dan rentang port 11000-11999 perlu diizinkan untuk protokol TCP. Ini berlaku untuk kedua subnet, menghosting sumber dan instans tujuan. Berikut adalah dokumentasi tentang cara membuat konektivitas jaringan antar instans di Azure VNet yang berbeda.

Menyalin atau memindahkan database

Anda dapat menyalin atau memindahkan database ke instans terkelola lain dengan menggunakan portal Azure. Untuk melakukannya:

  1. Buka instans terkelola Anda di portal Azure.

  2. Di bawah Manajemen data, pilih Database.

  3. Pilih satu atau beberapa database, lalu pilih opsi Salin atau Pindahkan di bagian atas panel.

    Memilih Pindahkan akan menghilangkan database sumber saat operasi selesai, dan memilih Salin membuat database sumber online saat operasi selesai. Memilih salah satu opsi akan membuka halaman Pindahkan Database Terkelola atau Salin Database Terkelola. Setelah halaman terbuka, Anda bisa memilih lebih banyak database untuk disertakan dalam operasi.

    Screenshot of the 'Databases' page for Azure SQL Managed Instance, with the 'Move' and 'Copy' options highlighted.

  4. Pada panel Detail sumber, berikan detail untuk database sumber dan instans terkelola.

  5. Pada panel Detail tujuan, berikan detail untuk instans terkelola tujuan.

  6. Pilih Tinjau + Mulai untuk memvalidasi detail sumber dan tujuan Anda, lalu pilih Mulai untuk memulai operasi.

    Memilih Mulai akan membawa Anda kembali ke halaman Database instans Anda, tempat Anda dapat memantau kemajuan operasi.

  7. Pada halaman Database, periksa kolom Detail operasi untuk memverifikasi bahwa status operasi Anda adalah Pindahkan sedang berlangsung atau Salin sedang berlangsung.

    Jika Anda perlu membatalkan, pilih Sedang berlangsung, pilih database yang sedang Anda kerjakan, lalu pilih Batalkan operasi untuk menghentikan seeding dan menghilangkan database tujuan.

    Screenshot of the 'Databases' page for Azure SQL Managed Instance, showing that a copy operation is in progress.

  8. Pantau operasi. Setelah penyemaian selesai, kolom Detail operasi menampilkan status Pindahkan siap untuk penyelesaian atau Salin siap untuk penyelesaian.

  9. Pilih Siap untuk penyelesaian untuk membuka kolom Detail operasi, pilih database yang siap Anda salin atau pindahkan, lalu pilih Selesai untuk menyelesaikan operasi dan membuat database tujuan online.

    Perubahan yang dilakukan pada database sumber direplikasi ke database tujuan selama waktu ini, hingga Anda memilih Selesai. Jika Anda tidak menyelesaikan operasi dalam waktu 24 jam, operasi dibatalkan secara otomatis, dan database tujuan dihilangkan. Memilih Selesai menyelesaikan operasi dan membawa Anda kembali ke halaman Database , tempat Anda dapat memverifikasi bahwa operasi selesai.

    Jika Anda memindahkan database, nama database tidak tersedia karena sekarang offline.

Performa operasi penyalinan dan pemindahan

Operasi penyalinan dan pemindahan database memiliki dua fase. Yang pertama adalah seeding awal dan yang kedua adalah replikasi perubahan dari database sumber ke database tujuan. Biasanya, penyemaian awal adalah fase operasi yang lebih menuntut. Waktu yang diperlukan agar penyemaian awal selesai tergantung pada ukuran data dan jumlah operasi salinan atau pemindahan aktif. Intensitas beban kerja yang terjadi pada Azure SQL Managed Instance sumber dan tujuan dan kecepatan jaringan antara sumber dan tujuan juga akan memengaruhi kecepatan penyemaian. Dalam keadaan optimal, dan ketika konektivitas antara sumber dan tujuan dibuat menggunakan peering VNet global yang direkomendasikan, kecepatan penyemaian hingga 360 GB per jam. Proses penyemaian dan kecepatannya dapat dipantau melalui sys.dm_hadr_physical_seeding_stats DMV.

SELECT 
	role_desc,
	transfer_rate_bytes_per_second,
	transferred_size_bytes,
	database_size_bytes,
	start_time_utc,
	estimate_time_complete_utc,
	end_time_utc,
	local_physical_seeding_id
FROM
	sys.dm_hadr_physical_seeding_stats;

Pembatasan

Pertimbangkan batasan fitur salin dan pindahkan berikut:

  • Instans sumber dan tujuan tidak boleh sama.
  • Instans sumber dan instans tujuan harus berada di wilayah Azure yang sama.
  • Anda hanya dapat menyalin dan memindahkan database pengguna . Menyalin dan memindahkan database sistem tidak didukung.
  • Database hanya dapat berpartisipasi dalam satu operasi pemindahan atau penyalinan pada satu waktu.
  • Instans sumber dapat berjalan hingga delapan operasi salin atau pindahkan sekali waktu. Anda dapat memulai lebih dari delapan operasi, tetapi beberapa diantrekan dan diproses nanti, seperti yang dikelola oleh layanan.
  • Anda tidak dapat mengganti nama database selama operasi salin atau pemindahan.
  • Tag database tidak disalin dengan operasi salin atau pindahkan.
  • Operasi salinan dan pemindahan database tidak menyalin atau memindahkan cadangan PITR.
  • Anda tidak dapat menyalin atau memindahkan database yang merupakan bagian dari grup failover, atau yang menggunakan tautan Instans Terkelola.
  • Instans terkelola sumber atau tujuan tidak boleh dikonfigurasi dengan penyiapan grup failover (pemulihan bencana geografis).
  • Anda harus mengonfigurasi ulang replikasi transaksional, mengubah penangkapan data (CDC), atau transaksi terdistribusi setelah Anda memindahkan database yang bergantung pada fitur-fitur ini.

Dokumentasi lainnya yang terkait dengan salinan dan pemindahan database.

Untuk opsi pergerakan data lainnya, tinjau: