Memindahkan data ke SQL Managed Instance

Selesai

Banyak migrasi melibatkan periode ketika database lokal dan cloud harus tetap disinkronkan. Misalnya, mungkin ada waktu ketika klien membuat perubahan pada kedua database.

Anda telah memigrasikan database produk ritel olahraga ke Azure SQL Managed Instance. Situs web sudah menggunakan database cloud. Anda mulai mengonfigurasi ulang klien untuk menggunakan database baru. Anda telah memutuskan untuk mentransisikan pengguna ke sistem baru dalam batch. Untuk setiap tim, Anda akan meluangkan waktu untuk menyelesaikan masalah apa pun sebelum memigrasikan pengguna berikutnya. Pendekatan ini memungkinkan pemecahan masalah dan resolusi masalah tanpa mengganggu semua pengguna sekaligus. Selanjutnya, Anda akan mengonfigurasi ulang sistem analisis data untuk menggunakan database baru di Azure. Selama waktu ini, Anda ingin memastikan bahwa database cloud dan lokal disinkronkan setiap jam.

Anda akan menjelajahi berbagai metode untuk menerapkan sinkronisasi data. Metode ini juga dapat digunakan untuk memigrasikan data secara selektif, jika Anda hanya memerlukan subset tabel yang akan ditransfer. Fleksibilitas ini memungkinkan pendekatan yang lebih disesuaikan untuk migrasi data.

Opsi konektivitas dengan server lokal

Seringkali, Anda ingin menyimpan data dalam database lokal yang disinkronkan dengan Azure SQL Managed Instance. Anda mungkin ingin melakukan migrasi aplikasi klien ke database baru, misalnya, yang berarti ada periode ketika klien terhubung ke kedua database.

Sebelum Anda memilih metode sinkronisasi data, penting untuk memastikan Anda memiliki konektivitas yang aman. Ada tiga opsi konektivitas berbeda yang tersedia untuk membangun komunikasi antara komputer lokal dan sumber daya di Azure.

  • Point-to-Site. Koneksi gateway VPN Point-to-Site (P2S) memungkinkan Anda membuat koneksi aman ke jaringan virtual Anda dari komputer klien individual.
  • Situs-ke-Situs. Gateway VPN Situs-ke-Situs digunakan untuk menyambungkan seluruh situs lokal ke jaringan Azure.
  • ExpressRoute. Azure ExpressRoute memungkinkan Anda membuat koneksi privat antara pusat data Azure dan infrastruktur lokal, atau infrastruktur di lingkungan kolokasi. Koneksi ExpressRoute tidak melalui internet publik, dan menawarkan lebih banyak keandalan, kecepatan yang lebih cepat, latensi yang lebih rendah, dan keamanan yang lebih tinggi daripada koneksi internet biasa.

Titik akhir publik

Titik akhir publik untuk SQL Managed Instance membantu Anda terhubung ke database dari internet tanpa menggunakan VPN, dan dirancang hanya untuk komunikasi data. Titik akhir publik untuk data dapat berdampingan secara bersamaan dengan titik akhir privat. Untuk alasan keamanan, implementasi memungkinkan Pemisahan Tugas (SoD) antara administrator database dan administrator jaringan saat mengaktifkan titik akhir publik.

Untuk mengaktifkan titik akhir publik untuk instans terkelola, diperlukan dua langkah. Untuk SoD, Anda memerlukan dua peran terpisah, dengan izin database dan jaringan berikut, untuk menyelesaikan langkah-langkah berikut:

  1. Administrator database yang memiliki izin kontrol akses berbasis peran dalam cakupan Microsoft.Sql/managedInstances/* harus menjalankan skrip PowerShell untuk mengaktifkan titik akhir publik untuk instans terkelola.
  2. Administrator jaringan yang memiliki izin kontrol akses berbasis peran dalam cakupan Microsoft.Network/* harus membuka port 3342 yang digunakan oleh titik akhir publik pada kelompok keamanan jaringan (NSG), serta menyediakan rute UDR untuk menghindari perutean asimetris.

Pilih metode sinkronisasi

Anda dapat menggunakan banyak metode untuk menyinkronkan data dari instans terkelola SQL Database ke server lokal dan kembali.

Pencadangan dan pemulihan bawaan

Anda dapat memulihkan database di Azure SQL Managed Instance dari file Azure Blob Storage menggunakan Tanda Tangan Akses Bersama (SAS).

Ini melibatkan pembuatan kredensial dengan akses ke Azure Blob Storage, lalu menggunakan BACKUP DATABASE perintah dengan COPY_ONLY opsi. Jika database Anda lebih besar dari 200 GB, Anda dapat menggunakan cadangan bergaris dengan menyediakan beberapa lokasi URL.

BACKUP DATABASE YourDatabase TO URL = 'https://youraccount.blob.core.windows.net/yourcontainer/yourdatabase.bak' WITH COPY_ONLY

Untuk memulihkan database di SQL Managed Instance:

RESTORE DATABASE YourDatabase FROM URL = 'https://youraccount.blob.core.windows.net/yourcontainer/yourdatabase.bak'

File BACPAC menggunakan SqlPackage

File BACPAC pada dasarnya adalah versi zip dari metadata dan data database Anda. Meskipun metode penyebaran ini kompatibel dengan SQL Database, SQL Managed Instance tidak mendukung migrasi melalui BACPAC dalam portal Microsoft Azure. Sebagai alternatif, utilitas SQLPackage harus digunakan dengan file BACPAC.

Program Salinan Massal (BCP)

Utilitas BCP adalah alat baris perintah yang mengekspor tabel ke file sehingga Anda dapat mengimpornya. Gunakan pendekatan ini untuk bermigrasi dari satu SQL Database ke SQL Managed Instance dan kembali.

Azure Data Factory (ADF)

Azure Data Factory dibangun untuk pergerakan dan orkestrasi data, dengan fokus pada penyerapan. ADF memiliki dukungan runtime integrasi untuk menjalankan paket SSIS, dan dukungan internet publik untuk SQL Managed Instance.

Replikasi transaksional

Replikasi transaksional adalah cara untuk memindahkan data antara server database yang terus tersambung.

Proses dimulai dengan rekam jepret objek dan data database publikasi. Setelah cuplikan awal diambil, setiap perubahan berikutnya pada data atau skema di Publisher biasanya dikirimkan ke Azure SQL Managed Instance hampir secara real-time saat terjadi.

SQL Managed Instance fleksibel karena dapat menjadi penerbit, distributor, dan pelanggan.

Replikasi adalah salah satu dari beberapa teknologi yang memungkinkan Anda mereplikasi bagian tabel. Kami menyebut bagian tabel ini sebagai artikel. Data ini kemudian dikirim ke distributor, yang merupakan pemasok data ke sejumlah pelanggan.

Persyaratan

  • Konektivitas menggunakan SQL Authentication antara peserta replikasi.
  • Berbagi Akun Azure Storage untuk direktori kerja yang digunakan oleh replikasi.
  • Buka port 445 (TCP keluar) dalam aturan keamanan subnet instans terkelola untuk mengakses berbagi file Azure.
  • Buka port 1433 (TCP keluar) apabila penerbit atau distributor berada pada instans yang dikelola dan pelanggan (subscriber) berada lokal.

Menghubungkan aplikasi ke instans terkelola SQL

Instans terkelola SQL harus ditempatkan di dalam subnet jaringan virtual Azure yang didedikasikan untuk instans terkelola. Penyebaran ini memberi Anda alamat IP privat yang aman dan kemampuan untuk terhubung ke jaringan lokal.

Diagram memperlihatkan bagaimana konektivitas berlangsung di Azure SQL Managed Instance.

Pengguna dan aplikasi klien dapat terhubung ke database instans terkelola melalui portal Microsoft Azure, PowerShell, Azure CLI, dan REST API.

Semua komunikasi dienkripsi dan ditandatangani menggunakan sertifikat. Untuk memeriksa kepercayaan pihak yang berkomunikasi, instans terkelola terus memverifikasi sertifikat ini melalui daftar pencabutan sertifikat. Jika sertifikat dicabut, instans terkelola SQL menutup koneksi untuk melindungi data.