Praktik Terbaik Migrasi Basis Data
Gunakan Azure Database Migration Service untuk memigrasikan basis data SQL Server ke Azure SQL dengan waktu henti minimal, lalu atasi masalah skema dan kompatibilitas yang umum.
Praktik Terbaik Migrasi Basis Data adalah pelajaran Cloud & IT Cert Prep gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cloud & IT Cert Prep, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cloud & IT Cert Prep mencakup 4 pelajaran total.
Mengapa Migrasi Basis Data Berbeda
Memigrasikan basis data lebih kompleks daripada memindahkan VM karena basis data bersifat mempertahankan status dan sering memiliki koneksi aktif 24/7. Pendekatan salin-dan-pulihkan yang sederhana memerlukan waktu henti berjam-jam, yang tidak dapat diterima untuk sistem produksi. Migrasi basis data dengan praktik terbaik menggunakan replikasi data berkelanjutan untuk menjaga sumber dan target tetap tersinkron saat target divalidasi, kemudian melakukan pengalihan singkat dan terencana ketika lalu lintas diarahkan ke basis data Azure baru.
Azure Database Migration Service
Azure Database Migration Service (DMS) adalah layanan terkelola sepenuhnya yang mengatur migrasi daring (hampir tanpa waktu henti) dan luring (berbasis waktu henti) dari mesin basis data lokal populer ke layanan basis data terkelola Azure. DMS mendukung sumber seperti SQL Server, MySQL, PostgreSQL, MongoDB, Oracle, serta target seperti Azure SQL Database, Azure SQL Managed Instance, Azure Database for MySQL, dan Azure Cosmos DB. Layanan ini terintegrasi dengan Data Migration Assistant (DMA) untuk pemeriksaan kompatibilitas pramigrasi.
# Create a DMS instance
az dms create \
--service-name myDMS \
--resource-group myRG \
--location eastus \
--sku-name Premium_4vCores \
--vnet myVnet \
--subnet mySubnetPenilaian Pramigrasi dengan DMA
Sebelum memigrasikan SQL Server, jalankan Data Migration Assistant (DMA) pada basis data sumber. DMA mengidentifikasi: masalah kompatibilitas (fitur yang digunakan dalam basis data Anda tetapi tidak didukung oleh target Azure SQL), perubahan yang merusak kompatibilitas, fitur yang sudah tidak digunakan lagi, dan rekomendasi performa. DMA menghasilkan laporan HTML terperinci yang memprioritaskan masalah berdasarkan tingkat keparahannya sehingga tim Anda dapat memperbaikinya sebelum jendela migrasi dimulai.
# Run DMA assessment from CLI (Windows only)
# DmaCmd.exe /AssessmentName='SQL2022toAzureSQL' \
# /AssessmentSourcePlatform='SqlOnPrem' \
# /AssessmentTargetPlatform='AzureSqlDatabase' \
# /AssessmentDatabases='Server=myServer;Initial Catalog=AdventureWorks;Integrated Security=true'Migrasi Daring vs. Luring
Migrasi luring membuat basis data sumber tidak tersedia selama migrasi — hal ini dapat diterima untuk basis data kecil atau sistem nonkritis yang memungkinkan adanya jendela pemeliharaan. Migrasi daring menggunakan change data capture (CDC) atau pengiriman log transaksi untuk mereplikasi perubahan secara berkelanjutan saat basis data baru dimuat, sehingga waktu henti hanya terjadi pada langkah pengalihan akhir. Migrasi daring direkomendasikan untuk basis data berukuran lebih dari 1 GB atau yang memiliki SLA dengan waktu henti kurang dari 1 jam.
Mengonfigurasi Proyek Migrasi DMS
Proyek migrasi DMS menentukan koneksi sumber (nama server, autentikasi, nama basis data), koneksi target (string koneksi Azure SQL), dan mode migrasi (daring atau luring). Anda juga memilih basis data dan tabel yang akan dimigrasikan. DMS memvalidasi konektivitas sebelum memulai. Proyek migrasi tetap tersimpan di portal Azure sehingga Anda dapat memantau kemajuan, mencoba kembali tabel yang gagal, dan melihat log aktivitas terperinci.
# Create a DMS project for SQL Server to Azure SQL Database
az dms project create \
--service-name myDMS \
--resource-group myRG \
--name SQL2AzureSQL \
--source-platform SQL \
--target-platform SQLDB \
--location eastusMigrasikan Skema Terlebih Dahulu
Selalu migrasikan skema sebelum data. Gunakan DMA atau SQL Server Management Studio (SSMS) untuk membuat skrip dan menerapkan tabel, tampilan, prosedur tersimpan, fungsi, serta indeks ke Azure SQL Database target. Verifikasi bahwa semua objek skema ada dan dapat dikompilasi tanpa kesalahan sebelum mengizinkan DMS memulai transfer data. Kesalahan skema yang ditemukan di tengah migrasi dapat merusak proses migrasi dan memaksa Anda memulainya kembali dari awal.
# Generate schema scripts using sqlpackage
sqlpackage /Action:Script \
/SourceServerName:myOnPremServer \
/SourceDatabaseName:AdventureWorks \
/TargetServerName:mysqlserver.database.windows.net \
/TargetDatabaseName:AdventureWorksAzure \
/OutputPath:/tmp/schema.sqlPemuatan Data Awal
DMS melakukan pemuatan data penuh dengan membaca tabel basis data sumber satu per satu dan menulis baris ke target Azure SQL menggunakan penyisipan massal. Selama pemuatan penuh, layanan menangani tabel besar dengan membaginya menjadi beberapa batch. Indeks pada target dinonaktifkan selama pemuatan untuk memaksimalkan throughput, lalu dibuat ulang setelahnya. Untuk basis data yang sangat besar (skala TB), pertimbangkan untuk menggunakan Azure Data Factory atau ekspor bacpac guna memuat data terlebih dahulu dan mengurangi waktu proses DMS.
Pengambilan Data Perubahan untuk Sinkronisasi Online
Untuk migrasi online, DMS mengaktifkan SQL Server Change Data Capture (CDC) pada sumber untuk merekam operasi INSERT, UPDATE, dan DELETE yang terjadi saat pemuatan penuh berlangsung. Setelah pemuatan penuh selesai, DMS memutar ulang perubahan yang direkam tersebut pada target, sehingga kesenjangan berkurang secara bertahap. Ketika latensi turun mendekati nol, basis data siap untuk pengalihan. CDC mengharuskan SQL Server Agent sedang berjalan dan basis data sumber berada dalam mode pemulihan penuh.
-- Enable CDC on source database
EXEC sys.sp_cdc_enable_db;
-- Enable CDC on specific table
EXEC sys.sp_cdc_enable_table
@source_schema = N'dbo',
@source_name = N'Orders',
@role_name = NULL;Pengalihan dan Validasi
Ketika keterlambatan CDC minimal, mulai proses pengalihan di portal DMS. DMS berhenti menerima peristiwa CDC baru, menerapkan perubahan yang tersisa, dan menandai migrasi sebagai selesai. Pada tahap ini, arahkan ulang string koneksi aplikasi ke titik akhir Azure SQL. Jalankan kueri validasi data dengan membandingkan jumlah baris dan agregat checksum antara sumber dan target untuk tabel-tabel penting. Pertahankan basis data sumber dalam mode hanya-baca selama 24–48 jam setelah pengalihan jika diperlukan pengembalian.
-- Validate row counts post-cutover
SELECT TABLE_NAME, TABLE_ROWS
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'dbo'
ORDER BY TABLE_NAME;Penyetelan Performa Pascamigrasi
Setelah migrasi, performa Azure SQL Database mungkin berbeda dari SQL Server lokal karena perbedaan cache rencana kueri, statistik, dan perangkat keras. Jalankan Database Experimentation Assistant (DEA) untuk memutar ulang jejak beban kerja pada target Azure dan membandingkan rencana eksekusi. Aktifkan Automatic Tuning di Azure SQL agar layanan dapat secara otomatis membuat atau menghapus indeks serta memaksa penggunaan rencana kueri tanpa regresi, sehingga performa meningkat seiring waktu tanpa intervensi manual.
-- Enable Automatic Tuning on Azure SQL Database
ALTER DATABASE CURRENT SET AUTOMATIC_TUNING (
FORCE_LAST_GOOD_PLAN = ON,
CREATE_INDEX = ON,
DROP_INDEX = OFF
);Migrasi Mesin Basis Data Lain
DMS juga memigrasikan mesin sumber terbuka: MySQL ke Azure Database for MySQL menggunakan pola mysqldump + replikasi binlog, dan PostgreSQL ke Azure Database for PostgreSQL menggunakan slot replikasi logis. Untuk migrasi MongoDB ke Cosmos DB, gunakan API Cosmos DB for MongoDB dan pipeline native mongodump / mongorestore atau konektor MongoDB Azure Data Factory untuk CDC inkremental. Selalu uji migrasi pada salinan nonproduksi sebelum menjalankannya terhadap data aktif.
# Offline MySQL migration using mysqldump
mysqldump -h source-server -u admin -p \
--single-transaction --routines --triggers \
myDatabase > /tmp/myDatabase.sql
# Restore to Azure Database for MySQL
mysql -h myserver.mysql.database.azure.com \
-u adminUser@myserver -p myDatabase < /tmp/myDatabase.sqlPemeriksaan Singkat
Uji pemahaman Anda tentang konsep Microsoft Azure Fundamentals (AZ-900) dari pelajaran ini.
Rangkuman Pelajaran
Dalam pelajaran ini Anda mempelajari bahwa Azure Database Migration Service mengatur migrasi basis data online dan offline, asesmen pramigrasi dengan DMA menemukan masalah kompatibilitas sebelum jendela migrasi, dan pengambilan data perubahan memungkinkan pengalihan basis data produksi dengan hampir tanpa waktu henti. Selanjutnya, kita akan beralih untuk membahas pengoptimalan biaya Azure.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Praktik Terbaik Migrasi Basis Data” gratis?
Ya — teks lengkap “Praktik Terbaik Migrasi Basis Data” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cloud & IT Cert Prep, upgrade ke CoddyKit PRO. Kursus Cloud & IT Cert Prep mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Praktik Terbaik Migrasi Basis Data”?
Gunakan Azure Database Migration Service untuk memigrasikan basis data SQL Server ke Azure SQL dengan waktu henti minimal, lalu atasi masalah skema dan kompatibilitas yang umum. Kamu berlatih Cloud & IT Cert Prep dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Cloud & IT Cert Prep?
Tidak diperlukan pengalaman sebelumnya. Cloud & IT Cert Prep di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Praktik Terbaik Migrasi Basis Data” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Cloud & IT Cert Prep ini?
Ya. Setiap pelajaran Cloud & IT Cert Prep menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Kerangka Migrasi 6-R
- Azure Migrate: Penemuan dan Penilaian
- Rehost dengan Azure Migrate (Lift and Shift)
- Praktik Terbaik Migrasi Basis Data