Ringkasan migrasi: SQL Server ke Azure SQL Database

Berlaku untuk:Azure SQL Database

Pelajari tentang opsi dan pertimbangan untuk memigrasikan database SQL Server Anda ke Azure SQL Database.

Anda dapat memigrasikan database SQL Server yang sudah ada yang berjalan pada:

  • SQL Server on Virtual Machines
  • Amazon EC2 (Elastic Compute Cloud)
  • Amazon RDS (Relational Database Service) untuk SQL Server
  • Mesin Komputasi Google
  • Cloud SQL untuk SQL Server - GCP (Google Cloud Platform)

Untuk panduan migrasi lainnya, lihat Migrasi Database.

Gambaran Umum

Azure SQL Database adalah opsi target yang direkomendasikan untuk beban kerja SQL Server yang memerlukan platform yang dikelola penuh sebagai layanan (PaaS). SQL Database menangani sebagian besar fungsi manajemen database. Ini juga memiliki ketersediaan tinggi bawaan, pemrosesan kueri cerdas, skalabilitas, dan kemampuan performa yang sesuai dengan banyak jenis aplikasi.

SQL Database memberikan fleksibilitas dengan beberapa model penyebaran dan tingkat layanan yang melayani berbagai jenis aplikasi atau beban kerja.

Salah satu manfaat utama migrasi ke SQL Database adalah Anda dapat memodernisasi aplikasi Anda dengan menggunakan kemampuan PaaS. Anda kemudian dapat menghilangkan dependensi apa pun pada komponen teknis yang tercakup di tingkat instans, seperti pekerjaan SQL Agent.

Anda juga dapat menghemat biaya dengan menggunakan Azure Hybrid Benefit untuk SQL Server guna memigrasikan lisensi lokal SQL Server Anda ke Azure SQL Database. Opsi ini tersedia jika Anda memilih model pembelian berbasis vCore.

Pastikan untuk meninjau fitur mesin database Microsoft SQL Server yang tersedia di Azure SQL Database untuk memvalidasi dukungan target migrasi Anda.

Pertimbangan

Faktor kunci yang perlu dipertimbangkan saat Anda mengevaluasi opsi migrasi adalah:

  • Jumlah server dan database
  • Ukuran database
  • Waktu henti bisnis yang dapat diterima selama proses migrasi

Opsi migrasi yang tercantum dalam panduan ini memperhitungkan faktor-faktor berikut. Untuk migrasi data logis ke Azure SQL Database, waktu untuk melakukan migrasi dapat bergantung pada jumlah objek dalam database dan ukuran database.

Alat tersedia untuk berbagai beban kerja dan preferensi pengguna. Beberapa alat dapat digunakan untuk melakukan migrasi cepat dari database tunggal melalui alat berbasis UI. Alat lain dapat mengotomatiskan migrasi beberapa database untuk menangani migrasi dalam skala besar.

Memilih target yang sesuai

Pertimbangkan panduan umum untuk membantu Anda memilih model penyebaran dan tingkat layanan Azure SQL Database yang tepat. Anda dapat memilih sumber daya komputasi dan penyimpanan selama penyebaran lalu mengubahnya setelah itu dengan menggunakan portal Microsoft Azure tanpa menimbulkan waktu henti untuk aplikasi Anda.

Model penyebaran: Pahami beban kerja aplikasi Anda dan pola penggunaan untuk memutuskan antara database tunggal atau kumpulan elastis.

  • Database tunggal mewakili database dikelola penuh yang cocok untuk sebagian besar aplikasi cloud modern dan layanan mikro.
  • Kumpulan elastis adalah kumpulan database tunggal dengan set sumber daya bersama, seperti CPU atau memori. Ini cocok untuk menggabungkan database dalam kumpulan dengan pola penggunaan yang dapat diprediksi yang dapat secara efektif berbagi set sumber daya yang sama.

Model pembelian: Pilih antara vCore, unit transaksi database (DTU), atau model pembelian tanpa server.

  • Model vCore memungkinkan Anda memilih jumlah vCore untuk Azure SQL Database, jadi ini adalah pilihan termudah saat Anda menerjemahkan dari SQL Server lokal. Ini adalah satu-satunya opsi yang mendukung penghematan biaya lisensi dengan Azure Hybrid Benefit.
  • Model DTU mengabstraksi sumber daya komputasi, memori, dan I/O yang mendasarinya untuk menyediakan DTU campuran.
  • Model tanpa server adalah untuk beban kerja yang memerlukan penskalaan sesuai permintaan otomatis dengan sumber daya komputasi yang ditagih per detik penggunaan. Tingkat komputasi tanpa server secara otomatis menjeda database selama periode tidak aktif (di mana hanya penyimpanan yang ditagih). Ini secara otomatis melanjutkan database ketika aktivitas kembali.

Tingkat layanan: Pilih antara tiga tingkat layanan yang dirancang untuk berbagai jenis aplikasi.

  • Tingkat layanan Tujuan Umum/Standar menawarkan opsi berorientasi anggaran seimbang dengan komputasi dan penyimpanan yang cocok untuk mengirimkan aplikasi di tingkat menengah dan bawah. Redundansi dibangun di lapisan penyimpanan untuk pulih dari kegagalan. Ini dirancang untuk sebagian besar beban kerja database.
  • Tingkat layanan Bisnis Kritis/Premium adalah untuk aplikasi tingkat tinggi yang memerlukan tingkat transaksi tinggi, I/O latensi rendah, dan tingkat ketahanan yang tinggi. Replika sekunder tersedia untuk kegagalan dan untuk membongkar beban kerja baca.
  • Tingkat layanan Hyperscale ditujukan untuk semua pelanggan yang membutuhkan performa dan ketersediaan yang lebih tinggi, pencadangan dan pemulihan yang cepat, dan/atau penyimpanan cepat dan skalabilitas komputasi. Ini termasuk pelanggan yang pindah ke cloud untuk memodernisasi aplikasi mereka serta pelanggan yang sudah menggunakan tingkat layanan lain di Azure SQL Database. Tingkat layanan Hyperscale mendukung berbagai beban kerja database, dari OLTP murni hingga analitik murni. Ini dioptimalkan untuk beban kerja OLTP dan transaksi hibrid dan pemrosesan analitik (HTAP).

Penting

Tingkat log transaksi diatur dalam Azure SQL Database untuk membatasi tingkat pencernaan yang tinggi. Dengan demikian, selama migrasi, Anda mungkin harus menskalakan sumber daya database target (vCore atau DTU) untuk memudahkan tekanan pada CPU atau throughput. Pilih database target berukuran tepat, tetapi rencanakan untuk menskalakan sumber daya untuk migrasi jika perlu.

Alternatif komputer virtual SQL Server

Bisnis Anda mungkin memiliki persyaratan yang menjadikan SQL Server di Azure Virtual Machines target yang lebih cocok daripada Azure SQL Database.

Jika salah satu kondisi berikut ini berlaku untuk bisnis Anda, pertimbangkan untuk pindah ke komputer virtual (VM) SQL Server sebagai gantinya:

  • Jika Anda memerlukan akses langsung ke sistem operasi atau sistem file, misalnya untuk memasang agen pihak ketiga atau kustom pada komputer virtual yang sama dengan SQL Server.
  • Anda memiliki kebergantungan ketat pada fitur yang masih tidak didukung, seperti FileStream/FileTable, PolyBase, dan transaksi lintas instans.
  • Anda harus menggunakan versi tertentu dari SQL Server (2012, misalnya).
  • Jika persyaratan komputasi Anda jauh lebih rendah daripada penawaran instans terkelola (satu vCore, misalnya), dan konsolidasi database bukanlah opsi yang dapat diterima.

Alat migrasi

Kami merekomendasikan alat migrasi berikut:

Teknologi Deskripsi
Azure Migrate Layanan Azure ini membantu Anda menemukan dan menilai properti data SQL Anda dalam skala besar di VMware. Ini memberikan rekomendasi penyebaran Azure SQL, ukuran target, dan perkiraan bulanan.
Ekstensi Azure SQL Migration untuk Azure Data Studio Didukung oleh layanan Azure Database Migration, ekstensi Azure SQL Migration untuk Azure Data Studio membantu Anda menilai persyaratan database Anda untuk memahami kesiapan migrasi Anda, mendapatkan rekomendasi SKU berukuran tepat untuk sumber daya Azure, dan memigrasikan database SQL Server Anda ke Azure. Anda dapat memigrasikan database tunggal atau dalam skala besar menggunakan PowerShell dan Azure CLI.

Tabel berikut ini mencantumkan alat migrasi alternatif:

Teknologi Deskripsi
Replikasi Transaksional Replikasi data dari tabel database SQL Server sumber ke Azure SQL Database dengan menyediakan opsi migrasi jenis pelanggan penerbit sambil mempertahankan konsistensi transaksional. Perubahan data secara bertahap disebarkan ke pelanggan saat terjadi pada penerbit.
Layanan Ekspor Impor/BACPAC BACPAC adalah file Windows dengan ekstensi .bacpac yang merangkum skema dan data database. Anda dapat menggunakan BACPAC untuk mengekspor data dari sumber SQL Server dan mengimpor data ke Azure SQL Database. File BACPAC dapat diimpor ke database SQL baru melalui portal Microsoft Azure.

Untuk skala dan kinerja dengan ukuran database besar atau database dalam jumlah besar, pertimbangkan untuk menggunakan alat baris perintah SqlPackage untuk mengekspor dan mengimpor database.
Bulk copy Alat bulk copy program(bcp) menyalin data dari instans SQL Server ke dalam file data. Gunakan alat untuk mengekspor data dari sumber Anda dan mengimpor file data ke database SQL target.

Untuk operasi penyalinan massal berkecepatan tinggi untuk memindahkan data ke Azure SQL Database, Anda dapat menggunakan alat Salin Massal Cerdas untuk memaksimalkan kecepatan transfer dengan memanfaatkan tugas penyalinan paralel.
Azure Data Factory Aktivitas salin di Azure Data Factory memigrasikan data dari database SQL Server sumber ke Azure SQL Database dengan menggunakan konektor bawaan dan runtime integrasi..

Pabrik Data mendukung berbagai konektor untuk memindahkan data dari sumber SQL Server ke Azure SQL Database.
Sinkronisasi Data SQL SQL Data Sync adalah layanan bawaan pada Azure SQL Database yang memungkinkan Anda menyinkronkan data yang dipilih secara dua arah ke beberapa database, baik secara lokal maupun di cloud.
Sinkronisasi Data berguna, apabila data perlu selalu diperbarui di beberapa database di Azure SQL Database atau SQL Server.

Membandingkan opsi migrasi

Bandingkan opsi migrasi untuk memilih jalur yang sesuai dengan kebutuhan bisnis Anda.

Tabel berikut membandingkan opsi migrasi yang kami rekomendasikan:

Opsi migrasi Waktu menggunakan Pertimbangan
Azure Migrate - Menemukan dan menilai database tunggal atau dalam skala besar dari lingkungan yang berbeda. - Semua langkah pra-migrasi seperti penemuan, penilaian, dan ukuran sumber daya lokal yang tepat disertakan untuk infrastruktur, data, dan aplikasi.
Ekstensi Azure SQL Migration untuk Azure Data Studio Anda dapat melakukan migrasi database tunggal atau dalam skala besar.
- Mode offline saja.

Sumber yang didukung:
- SQL Server (2008 dan seterusnya) lokal, atau di Azure Virtual Machines
- SQL Server di Amazon EC2
- Amazon RDS untuk SQL Server
- SQL Server di Google Compute Engine
- Migrasi dalam skala besar dapat diotomatisasi melalui PowerShell atau Azure CLI.

- Waktu untuk menyelesaikan migrasi tergantung ukuran database dan jumlah objek dalam database.

- Azure Data Studio diperlukan saat Anda tidak menggunakan PowerShell atau Azure CLI.

Tabel berikut membandingkan opsi migrasi alternatif:

Metode atau teknologi Waktu menggunakan Pertimbangan
Replikasi Transaksional - Migrasi dengan terus menerbitkan perubahan dari tabel database sumber ke tabel SQL Database target.
- Lakukan migrasi database penuh atau parsial dari tabel yang dipilih (subset dari database).

Sumber yang didukung:
- SQL Server (2016 hingga 2019) dengan beberapa batasan
- AWS EC2
- GCP Compute SQL Server VM
- Pengaturan relatif kompleks dibandingkan dengan opsi migrasi lainnya.
- Menyediakan opsi replikasi berkelanjutan untuk memigrasikan data (tanpa mengambil database offline).
- Replikasi transaksional memiliki batasan untuk dipertimbangkan ketika Anda menyiapkan penerbit pada instans SQL Server sumber. Lihat Batasan pada objek penerbitan untuk mempelajari selengkapnya.
- Hal ini dimungkinkan untuk memantau aktivitas replikasi.
Layanan Ekspor Impor/BACPAC - Migrasi database aplikasi lini bisnis masing-masing.
- Cocok untuk database yang lebih kecil.
- Tidak memerlukan layanan atau alat migrasi terpisah.

Sumber yang didukung:
- SQL Server (2005 hingga 2019) lokal atau mesin virtual Azure
- AWS EC2
- AWS RDS
- GCP Compute SQL Server VM
- Membutuhkan waktu henti karena data perlu diekspor di sumber dan diimpor di tujuan.
- Format file dan jenis data yang digunakan dalam ekspor atau impor harus konsisten dengan skema tabel untuk menghindari kesalahan pemotongan atau kesalahan ketidakcocokan jenis data.
- Waktu yang digunakan untuk mengekspor database dengan objek berjumlah besar dapat jauh lebih lama.
Bulk copy - Lakukan migrasi data penuh atau parsial.
- Dapat mengakomodasi waktu henti.

Sumber yang didukung:
- SQL Server (2005 hingga 2019) lokal atau mesin virtual Azure
- AWS EC2
- AWS RDS
- GCP Compute SQL Server VM
- Membutuhkan downtime untuk mengekspor data dari sumber dan mengimpor ke target.
- Format file dan jenis data yang digunakan dalam ekspor atau impor harus konsisten dengan skema tabel.
Azure Data Factory - Melakukan migrasi dan/atau mengubah data dari database SQL Server sumber.
- Menggabungkan data dari beberapa sumber data ke Azure SQL Database biasanya untuk beban kerja inteligensi bisnis (BI).
- Mengharuskan pembuatan alur pemindahan data di Data Factory untuk memindahkan data dari sumber ke tujuan.
- Biaya merupakan pertimbangan penting dan didasarkan pada faktor-faktor seperti pemicu alur, aktivitas yang berjalan, dan durasi pergerakan data.
Sinkronisasi Data SQL - Menyinkronkan data antara database sumber dan target.
- Cocok untuk menjalankan sinkronisasi berkelanjutan antara Azure SQL Database dan SQL Server lokal dalam alur dua arah.
- Azure SQL Database harus menjadi database hub untuk disinkronkan dengan database SQL Server lokal sebagai database anggota.
- Dibandingkan dengan replikasi transaksional, SQL Data Sync mendukung sinkronisasi data dua arah antara lokal dan Azure SQL Database.
- Dapat memiliki dampak performa yang lebih tinggi, tergantung beban kerja.

Interoperabilitas fitur

Ada lebih banyak pertimbangan ketika Anda memigrasikan beban kerja yang bergantung pada fitur SQL Server lainnya.

SQL Server Integration Services (SSIS)

Migrasi paket SQL Server Integration Services (SSIS) ke Azure dengan melakukan penyebaran ulang paket ke runtime Azure-SSIS di Azure Data Factory. Azure Data Factory mendukung migrasi paket SSIS dengan menyediakan runtime yang dibuat untuk menjalankan paket SSIS di Azure. Atau, Anda dapat menulis ulang logika SSIS ETL (ekstrak, transformasi, beban) secara asli di Azure Data Factory dengan menggunakan aliran data.

Layanan Pelaporan SQL Server

Migrasi laporan SQL Server Reporting Services (SSRS) ke laporan paginasi di Power BI. Gunakan Alat Migrasi RDL untuk membantu menyiapkan dan memigrasikan laporan Anda. Microsoft mengembangkan alat ini untuk membantu pelanggan memigrasikan laporan Report Definition Language (RDL) dari server SSRS mereka ke Power BI. Ini tersedia di GitHub, dan ini mendokumentasikan penelusuran menyeluruh dari skenario migrasi.

Ketersediaan tinggi

Pengaturan manual fitur ketersediaan tinggi SQL Server seperti instans kluster failover Grup Ketersediaan AlwaysOn dan Grup Ketersediaan AlwaysOn menjadi usang pada database SQL target. Arsitektur dengan ketersediaan tinggi sudah dibangun dalam tingkat layanan Tujuan Umum (model ketersediaan standar) dan Business Critical (model ketersediaan premium) untuk Azure SQL Database. Tingkat layanan Business Critical/Premium juga menyediakan peluasan skala baca yang memungkinkan terhubung ke salah satu simpul sekunder untuk tujuan baca-saja.

Di luar arsitektur ketersediaan tinggi yang disertakan dalam Azure SQL Database, fitur grup failover memungkinkan Anda mengelola replikasi dan failover database ke server di wilayah lain.

Login dan grup

Login Windows tidak didukung di Azure SQL Database, buat login dari ID Microsoft Entra (sebelumnya Azure Active Directory) sebagai gantinya. Membuat ulang login SQL secara manual.

Pekerjaan SQL Agent

Pekerjaan SQL Agent tidak didukung secara langsung di Azure SQL Database. Sebagai gantinya, gunakan pekerjaan elastis.

Database sistem

Untuk Azure SQL Database, satu-satunya database sistem yang berlaku adalah master dan tempdb. Untuk mempelajari selengkapnya, lihat Tempdb di Azure SQL Database.

Fitur tingkat lanjut

Pastikan untuk memanfaatkan fitur berbasis cloud tingkat lanjut di SQL Database. Misalnya, Anda tidak perlu khawatir mengelola cadangan karena layanan melakukannya untuk Anda. Anda dapat memulihkan ke titik waktu mana pun dalam periode retensi.

Untuk memperkuat keamanan, pertimbangkan untuk menggunakan autentikasi Microsoft Entra, audit, deteksi ancaman, keamanan tingkat baris, dan masking data dinamis.

Selain fitur manajemen dan keamanan tingkat lanjut, SQL Database menyediakan alat yang dapat membantu Anda memantau dan menyetel beban kerja Anda. Azure SQL Analytics (Pratinjau) adalah solusi tingkat lanjut untuk memantau performa semua database Anda di Azure SQL Database dalam skala besar dan di beberapa langganan dalam satu tampilan. Azure SQL Analytics mengumpulkan dan memvisualisasikan metrik performa utama dengan kecerdasan bawaan untuk pemecahan masalah performa.

Penyetelan otomatisterus memantau performa rencana eksekusi SQL Anda dan secara otomatis memperbaiki masalah performa yang diidentifikasi.

Aset migrasi

Untuk bantuan lebih lanjut, lihat sumber daya berikut yang dikembangkan untuk proyek migrasi dunia nyata.

Aset Deskripsi
Model dan alat penilaian beban kerja data Alat ini menyediakan platform target "paling cocok" yang disarankan, kesiapan cloud, dan tingkat remediasi aplikasi/database untuk beban kerja tertentu. Alat ini menawarkan penghitungan satu klik sederhana dan pembuatan laporan yang membantu mempercepat penilaian properti besar dengan menyediakan proses keputusan otomatis dan seragam untuk platform target.
Pembuatan database massal dengan PowerShell Anda bisa menggunakan set tiga skrip PowerShell yang membuat grup sumber daya (create_rg.ps1), server logis di Azure (create_sqlserver.ps1), dan database SQL (create_sqldb.ps1). Skrip mencakup kemampuan perulangan sehingga Anda dapat melakukan iterasi dan membuat server dan database sebanyak yang diperlukan.
Penyebaran skema massal dengan MSSQL-Scripter dan PowerShell Aset ini membuat grup sumber daya, membuat satu atau beberapa server logis di Azure untuk meng-host Azure SQL Database, mengekspor setiap skema dari instans SQL Server lokal (atau beberapa instans SQL Server 2005+), dan mengimpor skema ke Azure SQL Database.
Mengonversi pekerjaan SQL Server Agent menjadi pekerjaan database elastis Skrip ini memigrasikan pekerjaan SQL Server Agent sumber Anda ke pekerjaan database elastis.
Utilitas untuk memindahkan login SQL Server lokal ke Azure SQL Database Skrip PowerShell dapat membuat skrip perintah T-SQL untuk membuat ulang login dan memilih pengguna database dari SQL Server lokal ke Azure SQL Database. Alat ini memungkinkan pemetaan otomatis akun Direktori Aktif Windows Server ke akun Microsoft Entra, bersama dengan memigrasikan login asli SQL Server secara opsional.
Otomatisasi pengumpulan data Perfmon dengan menggunakan Logman Anda dapat menggunakan alat Logman untuk mengumpulkan data Perfmon (untuk membantu Anda memahami performa baseline) dan mendapatkan rekomendasi target migrasi. Alat ini menggunakan logman.exe untuk membuat perintah yang akan membuat, memulai, menghentikan, dan menghapus penghitung performa yang diatur pada instans SQL Server jarak jauh.

Tim Teknisi Data SQL adalah tim yang mengembangkan sumber daya ini. Piagam inti tim ini adalah untuk membuka blokir dan mempercepat modernisasi kompleks untuk proyek migrasi platform data ke platform data Azure Microsoft.

Langkah berikutnya