Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Aplikasi ke:SQL Server
Artikel ini membantu Anda menyiapkan lingkungan untuk migrasi Log Replay Service (LRS) instans SQL Server yang diaktifkan oleh Azure Arc ke Azure SQL Managed Instance di portal Azure.
Dengan LRS, Anda dapat memigrasikan database SQL Server Anda ke Azure SQL Managed Instance dengan menggunakan pencadangan dan pemulihan melalui pengiriman log (migrasi online):
Nota
Anda dapat memberikan umpan balik tentang pengalaman migrasi Anda langsung ke grup produk.
Prasyarat
Untuk memigrasikan database SQL Server Anda ke Azure SQL Managed Instance melalui portal Azure, Anda memerlukan prasyarat berikut:
- Langganan Azure aktif. Jika Anda tidak memilikinya, buat akun gratis.
- Instans SQL Server yang diaktifkan oleh Azure Arcyang didukung dengan versi terbaru dari ekstensi Azure untuk SQL Server. Untuk meningkatkan ekstensi Anda, lihat Meningkatkan ekstensi.
Versi SQL Server yang didukung
Migrasi dengan LRS berfungsi dengan setiap edisi SQL Server di Windows. Meskipun migrasi ke tingkat layanan Tujuan Umum dan Bisnis Kritis SQL Managed Instance didukung, migrasi langsung ke tingkat layanan Business Critical memiliki beberapa batasan penting untuk dipertimbangkan.
Tabel berikut mencantumkan versi SQL Server minimum yang didukung untuk LRS:
| versi SQL Server | Pembaruan layanan minimum yang diperlukan |
|---|---|
| SQL Server 2025 (17.x) | SQL Server RTM 2025 (17.0.1000.7) |
| SQL Server 2022 (16.x) | SQL Server RTM 2022 (16.0.1000.6) |
| SQL Server 2019 (15.x) | SQL Server RTM 2019 (15.0.2000.5) |
| SQL Server 2017 (14.x) | SQL Server RTM 2017 (14.0.1000.169) |
| SQL Server 2016 (13.x) | SQL Server RTM 2016 (13.0.1400.361) |
| SQL Server 2014 (12.x) | SQL Server RTM 2014 (12.0.2000.8) |
| SQL Server 2012 (11.x) | SQL Server RTM 2012 (11.0.2100.60) |
Migrasi terbalik hanya didukung untuk SQL Server 2025 dan SQL Server 2022 dari instans terkelola SQL dengan kebijakan update yang sesuai. Anda dapat membalikkan migrasi secara manual melalui alat lain seperti pencadangan dan pemulihan asli, atau mengonfigurasi tautan secara manual di SSMS.
Nota
Untuk instans SQL Server yang tidak didukung seperti lebih awal dari SQL Server 2012, atau di Linux, pertimbangkan untuk menggunakan Log Replay Service secara langsung untuk bermigrasi ke Azure SQL Managed Instance.
Permissions
Bagian ini menjelaskan izin yang Anda butuhkan untuk memigrasikan instans SQL Server Anda ke SQL Managed Instance melalui portal Azure.
Pada instans SQL Server sumber, Anda memerlukan izin berikut:
- Jika Anda mengaktifkan hak istimewa paling sedikit, izin yang diperlukan seperti sysadmindiberikan sesuai kebutuhan selama proses migrasi database.
- Jika Anda tidak dapat menggunakan hak istimewa paling sedikit, Anda memerlukan izin sysadmin pada instans SQL Server sumber.
Untuk bermigrasi dengan LRS, Anda memerlukan salah satu izin berikut pada target SQL Managed Instance:
- SQL Managed Instance Contributor peran
- Peran dengan izin berikut:
Microsoft.Sql/managedInstances/databases/*
Buat akun penyimpanan
Anda menggunakan akun Azure Blob Storage sebagai penyimpanan perantara untuk file cadangan antara instans SQL Server dan penyebaran SQL Managed Instance Anda. Akun penyimpanan harus berada dalam langganan Azure yang sama dengan target SQL Managed Instance Anda.
Untuk membuat akun penyimpanan baru dan kontainer blob di dalam akun penyimpanan:
-
Buat akun penyimpanan:
- Cari akun Storage di portal Azure, dan pilih Buat.
- Pada tab Dasar , pilih langganan dan grup sumber daya Anda. Wilayah harus sama dengan target SQL Managed Instance Anda.
- Biarkan Jenis penyimpanan pilihan kosong.
- Gunakan pengaturan default untuk tab lainnya, dan pilih Tinjau + buat.
- Setelah melalui validasi, pilih Buat.
-
Buat kontainer-blob di dalam akun penyimpanan.
- Buka akun penyimpanan baru Anda di portal Azure.
- Di bawah Penyimpanan data, pilih Kontainer.
- Gunakan Tambahkan kontainer untuk membuka panel Kontainer baru .
- Masukkan nama untuk kontainer Anda, biarkan opsi di defaultnya, dan pilih Buat untuk membuat kontainer Anda.
- (Opsional) Jika Azure Storage Anda berada di belakang firewall, penyimpanan Blob Azure Anda memerlukan konfigurasi addisional setelah instans terkelola SQL Anda disediakan.
Memberikan izin ke Azure Blob Storage
SQL Server migrasi di Azure Arc dengan LRS menggunakan identitas terkelola untuk mengautentikasi ke Azure Blob Storage.
Anda perlu memberikan izin berikut:
- Berikan akses pengguna ke akun penyimpanan tempat Anda berencana untuk menyimpan cadangan selama proses migrasi.
- Berikan akses pengguna ke grup sumber daya yang berisi akun penyimpanan.
- Berikan akses identitas terkelola ke akun penyimpanan setelah instans terkelola SQL Anda disediakan.
Memberikan akses pengguna ke akun penyimpanan
Untuk mengakses pencadangan database selama proses migrasi, tetapkan pengguna yang masuk ke portal Azure dan melakukan migrasi ke peran Storage Blob Data Reader untuk akun penyimpanan yang berisi cadangan.
Untuk menetapkan peran, ikuti langkah-langkah berikut:
Di portal Azure, buka grup sumber daya yang berisi akun penyimpanan Anda.
Pilih Kontrol akses (IAM) dari menu sumber daya.
Gunakan + Tambahkan untuk memilih Tambahkan penetapan peran dan buka panel Tambahkan penetapan peran .
Cari dan pilih peran Pembaca Data Blob Penyimpanan. Kemudian, pilih Berikutnya.
Gunakan + Pilih anggota untuk membuka panel Pilih anggota , dan cari akun pengguna orang yang melakukan migrasi. Jika beberapa orang memigrasikan data, berikan semua pengguna tersebut akses ini. Pilih akun pengguna, lalu gunakan Pilih untuk menyimpan pilihan Anda. Centang opsi untuk menetapkan akses ke Pengguna, grup, atau perwakilan layanan.
Pilih Tinjau + tetapkan untuk masuk ke tab Tinjau + tetapkan , lalu pilih Tinjau + tetapkan lagi untuk menyelesaikan penetapan peran.
Memberikan akses pengguna ke grup sumber daya
Untuk mengakses pencadangan database selama proses migrasi, pengguna yang masuk ke portal Azure dan melakukan migrasi perlu diberi peran Reader pada grup sumber daya yang berisi akun penyimpanan.
Untuk menetapkan peran, ikuti langkah-langkah berikut:
Di portal Azure, buka grup sumber daya yang berisi akun penyimpanan Anda.
Pilih Kontrol akses (IAM) dari menu sumber daya.
Gunakan + Tambahkan untuk memilih Tambahkan penetapan peran dan buka panel Tambahkan penetapan peran .
Cari dan pilih peran Pembaca . Kemudian, pilih Berikutnya.
Gunakan + Pilih anggota untuk membuka panel Pilih anggota , dan cari akun pengguna orang yang melakukan migrasi. Jika beberapa orang memigrasikan data, berikan semua pengguna tersebut akses ini. Pilih akun pengguna, lalu gunakan Pilih untuk menyimpan pilihan Anda. Centang opsi untuk menetapkan akses ke Pengguna, grup, atau perwakilan layanan lalu gunakan Berikutnya untuk melanjutkan.
Pada tab Jenis penugasan , atur jenis Penugasan ke Aktif dan durasi Penugasan ke Permanen:
Pilih Tinjau + tetapkan untuk masuk ke tab Tinjau + tetapkan , lalu pilih Tinjau + tetapkan lagi untuk menyelesaikan penetapan peran.
Memberikan akses identitas terkelola ke akun penyimpanan
Setelah instans terkelola SQL Anda disediakan, Anda perlu menetapkan identitas terkelola instans terkelola SQL Anda Storage Blob Data Reader peran sehingga dapat mengakses akun Azure Blob Storage Anda selama proses migrasi.
Pertama, Anda harus menentukan jenis identitas terkelola yang digunakan instans terkelola SQL Anda. Untuk melakukannya, ikuti langkah-langkah berikut:
- Buka SQL managed instance di portal Azure.
- Di bawah Keamanan, pilih Identitas.
- Jika di bawah Identitas terkelola yang ditetapkan pengguna, Anda melihat Tidak ada identitas terkelola yang ditetapkan pengguna yang ditemukan, instans terkelola SQL Anda menggunakan identitas terkelola default yang ditetapkan sistem.
- Jika Anda melihat entri di bidang Identitas utama , maka instans terkelola SQL Anda menggunakan identitas terkelola yang ditetapkan pengguna kustom. Catat identitas ini untuk digunakan dalam langkah di mana Anda memilih identitas terkelola ini saat memberikan akses Pembaca Data Blob Penyimpanan ke akun penyimpanan.
Untuk memberikan akses ke akun penyimpanan, ikuti langkah-langkah berikut:
- Buka akun Azure Blob Storage di portal Azure yang ingin Anda gunakan untuk migrasi.
- Pilih Kontrol akses (IAM) dari menu sumber daya.
- Gunakan + Tambahkan untuk memilih Tambahkan penetapan peran dan buka panel Tambahkan penetapan peran .
- Cari dan pilih peran Pembaca Data Blob Penyimpanan. Kemudian, pilih Berikutnya.
- Di bagian Tetapkan akses untuk, pilih opsi Identitas terkelola.
- Gunakan Pilih anggota untuk membuka panel Pilih anggota .
- Jika instans terkelola SQL Anda menggunakan identitas terkelola default yang ditetapkan sistem:
- Di bawah Identitas terkelola, pilih instans terkelola SQL.
- Cari dan pilih nama instans terkelola SQL Anda.
- Gunakan Pilih untuk menyimpan pilihan Anda.
- Jika instans terkelola SQL Anda menggunakan identitas terkelola yang ditetapkan pengguna:
- Di bawah Identitas terkelola, pilih Identitas terkelola yang ditetapkan pengguna.
- Cari Nama identitas utama yang Anda catat sebelumnya dari halaman Identitasinstans terkelola SQL Anda dan pilih.
- Gunakan Pilih untuk menyimpan pilihan Anda.
- Pilih Tinjau + tetapkan untuk masuk ke tab Tinjau + tetapkan , lalu pilih Tinjau + tetapkan lagi untuk menyelesaikan penetapan peran.
Setelah mengunggah setidaknya satu cadangan penuh ke akun penyimpanan ini, Anda dapat menjalankan perintah berikut pada instans terkelola SQL Anda untuk memverifikasi bahwa ia dapat mengakses akun Azure Blob Storage Anda:
RESTORE HEADERONLY
FROM URL = 'https://<mystorageaccountname>.blob.core.windows.net/<containername>/full_0_0.bak';
Mengonfigurasi database SQL Server sumber
Aktifkan pemulihan database yang dipercepat dan Service Broker pada instans SQL Server sumber Anda jika Anda berencana untuk menggunakan fitur-fitur ini pada SQL Managed Instance target setelah migrasi, karena fitur-fitur ini tidak dapat diaktifkan setelah migrasi jika belum diaktifkan pada instans SQL Server sumber.
Mengaktifkan pemulihan database yang dipercepat
Untuk versi SQL Server 2019 dan yang lebih baru, aktifkan pemulihan database dipercepat, dan pastikan penyimpanan versi persisten (PVS) diatur ke PRIMARY. Jika pemulihan database yang dipercepat tidak diaktifkan pada database SQL Server sumber, Anda tidak dapat mengaktifkannya pada instans terkelola SQL target setelah database dimigrasikan. Jika penyimpanan versi persisten (PVS) tidak diatur ke PRIMARY, Anda dapat mengalami masalah dengan operasi pemulihan pada instans terkelola SQL target.
Untuk SQL Server 2017 dan versi yang lebih lama, pemulihan database yang dipercepat tidak didukung, sehingga langkah ini tidak diperlukan.
Untuk mengonfigurasi pemulihan database yang dipercepat dengan benar pada database SQL Server sumber, ikuti langkah-langkah berikut:
Aktifkan pemulihan database yang dipercepat dengan menjalankan skrip Transact-SQL berikut pada SQL Server:
ALTER DATABASE [<database name>] SET ACCELERATED_DATABASE_RECOVERY = ON;Penyimpanan versi persisten (PVS) harus diatur ke
PRIMARYpada database sumber, yang merupakan konfigurasi default. Jika ini diubah sebelumnya, Anda harus mengubahnya kembali ke PRIMARY sebelum memulai migrasi.
Aktifkan Service Broker
Service Broker diaktifkan secara default untuk semua versi SQL Server. Jika Service Broker dinonaktifkan dan Anda berencana untuk menggunakannya di SQL Managed Instance, aktifkan Service Broker pada database SQL Server sumber sebelum Anda bermigrasi ke SQL Managed Instance. Jika Service Broker tidak diaktifkan pada database SQL Server sumber, Anda tidak dapat menggunakannya pada instans terkelola SQL target.
Untuk memeriksa apakah Service Broker diaktifkan, jalankan skrip Transact-SQL berikut pada instans SQL Server:
SELECT name AS [Database Name], is_broker_enabled AS [Service Broker Enabled]
FROM sys.databases
WHERE name = '<database name>';
Jika Service Broker dinonaktifkan, aktifkan dengan menjalankan skrip Transact-SQL berikut pada database SQL Server sumber:
USE master;
GO
ALTER DATABASE [<database name>]
SET ENABLE_BROKER;
GO
Mengunggah cadangan ke akun Blob Storage Anda
Saat kontainer blob Anda siap dan Anda telah mengonfirmasi bahwa instans terkelola SQL Anda dapat mengakses kontainer, Anda dapat mulai mengunggah cadangan ke akun Azure Blob Storage Anda. Saat semua cadangan Anda diunggah ke akun penyimpanan, Anda siap untuk melanjutkan migrasi.
Untuk mengunggah cadangan Anda ke Azure:
- Buat backup untuk instance SQL Server.
- Copy cadangan Anda ke akun Blob Storage Anda.
- Atau, SQL Server 2025 (17.x) pada Windows Server memperkenalkan dukungan identitas terkelola untuk backups langsung ke URL. Untuk cadangan langsung ke URL untuk SQL Server 2022 dan versi sebelumnya, Anda harus menggunakan token SAS. Untuk menggunakan identitas terkelola dengan SQL Server 2022 dan yang lebih lama, salin cadangan Anda ke akun Blob Storage Anda dengan menggunakan AzCopy. Satu-satunya pengecualian adalah jika Anda bermigrasi dari SQL Server pada VM Azure, yang mendukung pencadangan langsung ke URL dengan autentikasi identitas terkelola yang dimulai dengan SQL Server 2022 CU 17.
Pertimbangkan praktik terbaik berikut:
- Ambil cadangan dengan
COMPRESSIONopsi danCHECKSUMuntuk mengurangi ukuran file cadangan dan untuk mencegah migrasi database yang rusak. - Ambil cadangan dalam batch yang lebih kecil.
- Gunakan utas unggahan paralel.
- Buat file cadangan terakhir sesecil mungkin.
- Untuk memigrasikan beberapa database dengan menggunakan kontainer Azure Blob Storage yang sama, tempatkan semua file cadangan untuk database individual ke folder terpisah di dalam kontainer. Gunakan struktur file datar untuk setiap folder database. Folder yang bersarang di dalam folder database tidak didukung.
Mengambil cadangan pada instans SQL Server
Langkah-langkah di bagian ini menunjukkan cara mencadangkan secara lokal, namun Anda juga dapat mencadangkan langsung ke URL.
Tetapkan database yang ingin Anda migrasikan ke model pemulihan penuh untuk mengizinkan pencadangan log.
-- To permit log backups, before the full database backup, modify the database to use the full recovery
USE master;
ALTER DATABASE SampleDB
SET RECOVERY FULL;
GO
Jika Anda belum memiliki cadangan yang sudah ada, maka untuk membuat cadangan penuh, diferensial, dan log database Anda secara manual ke penyimpanan lokal, gunakan contoh skrip T-SQL berikut.
CHECKSUM tidak diperlukan, tetapi disarankan untuk mencegah migrasi database yang rusak, dan untuk waktu pemulihan yang lebih cepat.
Contoh berikut mengambil cadangan database lengkap ke disk lokal:
-- Take full database backup to local disk
BACKUP DATABASE [SampleDB]
TO DISK = 'C:\BACKUP\SampleDB_full.bak'
WITH INIT, COMPRESSION, CHECKSUM;
GO
Contoh berikut mengambil cadangan diferensial ke disk lokal:
-- Take differential database backup to local disk
BACKUP DATABASE [SampleDB]
TO DISK = 'C:\BACKUP\SampleDB_diff.bak'
WITH DIFFERENTIAL, COMPRESSION, CHECKSUM;
GO
Contoh berikut mengambil cadangan log transaksi ke disk lokal:
-- Take transactional log backup to local disk
BACKUP LOG [SampleDB]
TO DISK = 'C:\BACKUP\SampleDB_log.trn'
WITH COMPRESSION, CHECKSUM;
GO
Menyalin cadangan ke akun Blob Storage Anda
Setelah cadangan Anda siap, dan Anda ingin mulai memigrasikan database ke instans terkelola SQL dengan menggunakan LRS, gunakan pendekatan berikut untuk menyalin cadangan yang ada ke akun Blob Storage Anda:
- Unduh dan instal AzCopy.
- Unduh dan instal Azure Storage Explorer.
- Gunakan Storage Explorer di portal Azure.
Nota
Untuk memigrasikan beberapa database dengan menggunakan kontainer Azure Blob Storage yang sama, tempatkan semua file cadangan untuk database individual ke folder terpisah di dalam kontainer. Gunakan struktur file datar untuk setiap folder database. Folder yang bersarang di dalam folder database tidak didukung.
Keterbatasan
Batasan LRS berlaku untuk migrasi melalui portal Azure.
Batasan saat bermigrasi ke tingkat layanan Business Critical
Saat bermigrasi ke SQL Managed Instance di tingkat layanan Business Critical, pertimbangkan batasan berikut:
- Saat memigrasikan database besar, Anda mungkin mengalami waktu henti yang cukup lama karena database tidak tersedia setelah tahap pemindahan sementara dialokasikan ke replika sekunder dari tingkat layanan Business Critical. Penanganan masalah tercantum di bagian cutover yang lebih panjang.
- Migrasi secara otomatis dimulai ulang dari awal jika failover, pembaruan sistem, atau patch keamanan yang tidak direncanakan mengganggu migrasi. Batasan ini menyulitkan rencana migrasi yang dapat diprediksi tanpa kejutan menit terakhir.
Penting
Batasan ini hanya berlaku saat bermigrasi ke Azure SQL Managed Instance di tingkat layanan Business Critical, dan bukan ke tingkat layanan Perluan Umum.
Perpindahan yang lebih lama di tingkat layanan Business Critical
Jika Anda bermigrasi ke SQL Managed Instance di tingkat layanan Business Critical, pertimbangkan keterlambatan dalam pengaktifan database di replika utama saat dipindahkan ke replika sekunder. Penundaan ini terutama berlaku untuk database yang lebih besar.
Migrasi ke SQL Managed Instance di tingkat layanan Business Critical membutuhkan waktu lebih lama untuk diselesaikan daripada di tingkat layanan Tujuan Umum. Setelah cutover ke Azure selesai, database tidak tersedia sampai data ditransfer dari replika utama ke tiga replika sekunder. Proses penyemaian dapat memakan waktu lama tergantung pada ukuran database Anda. Semakin besar database, semakin lama penyemaian ke replika sekunder membutuhkan waktu - hingga beberapa jam, berpotensi.
Jika penting bahwa database tersedia segera setelah cutover selesai, pertimbangkan solusi berikut:
- Migrasikan ke tingkat layanan Tujuan Umum terlebih dahulu, lalu tingkatkan ke tingkat layanan Business Critical . Meningkatkan tingkat layanan Anda adalah operasi online yang menjaga agar database Anda tetap online hingga terjadi failover singkat sebagai langkah akhir dari operasi peningkatan tersebut.
- Gunakan tautan Managed Instance untuk migrasi online ke instans Business Critical tanpa harus menunggu database tersedia setelah cutover.
Memantau migrasi melalui portal Azure hanya tersedia untuk SQL Server instans yang memenuhi persyaratan pemantauan lisensi.
Pemecahan Masalah Umum
Untuk memecahkan masalah umum saat bermigrasi ke Azure SQL Managed Instance, lihat Pemecahan Masalah Migrasi.