Menyiapkan lingkungan untuk migrasi VM SQL - migrasi SQL Server di Azure Arc

Aplikasi ke:SQL Server

Artikel ini membantu Anda menyiapkan lingkungan untuk migrasi VM SQL Server dari instans SQL Server yang telah diaktifkan oleh Azure Arc ke SQL Server yang berjalan di VM Azure di portal Azure.

Nota

  • Migrasi ke SQL Server pada VM Azure melalui portal Azure saat ini berada di preview.
  • Anda dapat memberikan umpan balik tentang pengalaman migrasi Anda langsung ke grup produk.

Prasyarat

Untuk memigrasikan database SQL Server Anda ke SQL Server pada VM Azure melalui portal Azure, Anda memerlukan prasyarat berikut:

Versi SQL Server yang didukung

Migrasi VM SQL Server berfungsi dengan setiap edisi SQL Server di Windows dan Linux.

Tabel berikut mencantumkan versi SQL Server minimum yang didukung untuk migrasi:

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)

Permissions

Bagian ini menjelaskan izin yang Anda butuhkan untuk memigrasikan database SQL Server Anda ke SQL Server pada VM Azure 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.

Anda memerlukan peran Virtual Machine Contributor pada target Azure VM untuk melakukan migrasi.

Buat akun penyimpanan

Anda menggunakan akun Azure Blob Storage sebagai penyimpanan perantara untuk file cadangan antara instans SQL Server dan SQL Server Anda di VM Azure. Akun penyimpanan harus berada di langganan dan wilayah Azure yang sama dengan SQL Server Anda pada target VM Azure.

Untuk membuat akun penyimpanan baru dan kontainer blob di dalam akun penyimpanan:

  1. Buat akun penyimpanan:
    1. Cari akun Storage di portal Azure, dan pilih Buat.
    2. Pada tab Dasar , pilih langganan dan grup sumber daya Anda. Wilayah harus sama dengan SQL Server Anda pada target VM Azure.
    3. Biarkan Jenis penyimpanan pilihan kosong.
    4. Gunakan pengaturan default untuk tab lainnya, dan pilih Tinjau + buat.
    5. Setelah melalui validasi, pilih Buat.
  2. Buat kontainer-blob di dalam akun penyimpanan.
    1. Buka akun penyimpanan baru Anda di portal Azure.
    2. Di bawah Penyimpanan data, pilih Kontainer.
    3. Gunakan Tambahkan kontainer untuk membuka panel Kontainer baru .
    4. Masukkan nama untuk kontainer Anda, biarkan opsi di defaultnya, dan pilih Buat untuk membuat kontainer Anda.
  3. (Opsional) Jika Azure Storage Anda berada di belakang firewall, penyimpanan Blob Azure Anda memerlukan konfigurasi tambahan setelah VM SQL Server Anda disediakan. Konfigurasikan delegasi untuk subnet dengan nama VM.

Memberikan izin ke Azure Blob Storage

SQL Server migrasi VM di Azure Arc menggunakan identitas terkelola untuk mengautentikasi ke Azure Blob Storage.

Anda perlu memberikan izin berikut:

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:

  1. Di portal Azure, buka grup sumber daya yang berisi akun penyimpanan Anda.

  2. Pilih Kontrol akses (IAM) dari menu sumber daya.

  3. Gunakan + Tambahkan untuk memilih Tambahkan penetapan peran dan buka panel Tambahkan penetapan peran .

  4. Cari dan pilih peran Pembaca Data Blob Penyimpanan. Kemudian, pilih Berikutnya.

    Screenshot dari menemukan peran Pembaca Data pada Blob Penyimpanan di halaman IAM untuk akun penyimpanan tersebut di portal Azure.

  5. 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.

  6. 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:

  1. Di portal Azure, buka grup sumber daya yang berisi akun penyimpanan Anda.

  2. Pilih Kontrol akses (IAM) dari menu sumber daya.

  3. Gunakan + Tambahkan untuk memilih Tambahkan penetapan peran dan buka panel Tambahkan penetapan peran .

  4. Cari dan pilih peran Pembaca . Kemudian, pilih Berikutnya.

    Tangkapan layar saat menemukan peran Pembaca di halaman IAM dari grup sumber daya di portal Azure.

  5. 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.

  6. Pada tab Jenis penugasan , atur jenis Penugasan ke Aktif dan durasi Penugasan ke Permanen:

    Tangkapan layar pengaturan jenis Penugasan menjadi Aktif dan durasi Penugasan menjadi Permanen pada tab Jenis Penugasan di portal Azure.

  7. 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 VM SQL Server Anda disediakan, Anda perlu menetapkan identitas terkelola SQL Server VM 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 VM SQL Server Anda. Untuk melakukannya, ikuti langkah-langkah berikut:

  1. Akses Sumber daya mesin virtual di portal Azure.
  2. Di bawah Keamanan, pilih Identitas untuk membuka panel Identitas . Pilih antara menggunakan identitas yang ditetapkan Sistem atau identitas yang ditetapkan Pengguna :
    1. Pada tab Sistem yang ditetapkan , Anda dapat menggunakan tombol Status untuk mengaktifkan identitas yang ditetapkan sistem jika belum diaktifkan. Jika identitas yang ditetapkan sistem diaktifkan, Anda kemudian dapat memilih penetapan peran Azure untuk masuk ke halaman penetapan peran Azure lalu menggunakan +Tambahkan penetapan peran (Pratinjau) untuk memberikan izin Storage Blob Data Reader ke identitas sistem yang ditetapkan dari SQL Server VM dengan memilih Storage sebagai Scope lalu pilih sumber daya Anda.
    2. Pada tab Pengguna yang ditetapkan, Anda dapat melihat daftar identitas yang ditetapkan pengguna yang dilampirkan ke VM SQL Server. Jika Anda ingin menambahkan identitas yang ditetapkan pengguna baru, pilih + Tambahkan identitas yang ditetapkan pengguna, lalu pilih identitas yang ditetapkan pengguna yang ada dari langganan Anda untuk melampirkannya ke VM SQL Server. Catat nama identitas yang ditetapkan pengguna yang ingin Anda gunakan untuk autentikasi Azure Blob Storage, karena Anda akan membutuhkannya untuk langkah berikutnya.

Untuk memberikan akses untuk identitas terkelola yang ditetapkan pengguna ke akun penyimpanan, ikuti langkah-langkah berikut:

  1. Buka akun Azure Blob Storage di portal Azure yang ingin Anda gunakan untuk migrasi.
  2. Pilih Kontrol akses (IAM) dari menu sumber daya.
  3. Gunakan + Tambahkan untuk memilih Tambahkan penetapan peran dan buka panel Tambahkan penetapan peran .
  4. Cari dan pilih peran Pembaca Data Blob Penyimpanan. Kemudian, pilih Berikutnya.
  5. Di bagian Tetapkan akses untuk, pilih opsi Identitas terkelola.
  6. Gunakan Pilih anggota untuk membuka panel Pilih anggota .
  7. Di bawah Identitas terkelola, pilih Identitas terkelola yang ditetapkan pengguna.
  8. Cari nama identitas utama yang Anda catat sebelumnya dari halaman IdentitySQL Server VM dan pilih.
  9. Gunakan Pilih untuk menyimpan pilihan Anda.
  10. Pilih Tinjau + tetapkan untuk masuk ke tab Tinjau + tetapkan , lalu pilih Tinjau + tetapkan lagi untuk menyelesaikan penetapan peran.

Mengunggah cadangan ke akun Blob Storage Anda

Ketika kontainer blob Anda siap dan Anda telah mengonfirmasi bahwa VM SQL Server 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:

  1. Buat backup untuk instance SQL Server.
  2. Copy cadangan Anda ke akun Blob Storage Anda.

Pertimbangkan praktik terbaik berikut:

  • Ambil cadangan dengan COMPRESSION opsi dan CHECKSUM untuk 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 VM SQL Server, gunakan pendekatan berikut untuk menyalin cadangan yang ada ke akun Blob Storage Anda:

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.

Memvalidasi akses penyimpanan VM SQL Server Anda

Validasi bahwa VM SQL Server Anda dapat mengakses akun Blob Storage Anda.

Pertama, unggah cadangan database apa pun, seperti full_0_0.bak, ke kontainer Azure Blob Storage Anda.

Selanjutnya, sambungkan ke VM SQL Server Anda, dan jalankan kueri pengujian sampel untuk menentukan apakah VM SQL Server Anda dapat mengakses cadangan dalam kontainer.

Jika Anda menggunakan token SAS untuk mengautentikasi ke akun penyimpanan Anda, ganti <sastoken> dengan token SAS Anda dan jalankan kueri berikut pada VM SQL Server Anda:

CREATE CREDENTIAL [https://<mystorageaccountname>.blob.core.windows.net/databases]
    WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
    SECRET = '<sastoken>';

RESTORE HEADERONLY
    FROM URL = 'https://<mystorageaccountname>.blob.core.windows.net/<containername>/full_0_0.bak';

Mendaftarkan VM SQL Server dengan ekstensi Agen IaaS SQL

Jika target Anda SQL Server VM sudah ada, Anda harus mendaftarkannya dengan ekstensi Agen IaaS SQL sebelum Anda dapat memilihnya sebagai target migrasi di portal Azure. Jika target Anda SQL Server VM belum ada, Anda dapat menyediakan yang baru selama proses migrasi, dan itu akan secara otomatis terdaftar dengan ekstensi Agen IaaS SQL.

Keterbatasan

Pertimbangkan batasan berikut saat Anda memigrasikan database SQL Server Anda ke SQL Server pada VM Azure melalui portal Azure:

  • Jika Anda memigrasikan database tunggal, Anda harus menempatkan cadangan database dalam struktur file datar di dalam folder database (termasuk folder akar kontainer). Anda tidak dapat mengelompokkan folder ini, karena pengelompokan tidak didukung.
  • Jika Anda memigrasikan beberapa database menggunakan kontainer Azure Blob Storage yang sama, Anda harus menempatkan file cadangan untuk database yang berbeda di folder terpisah di dalam kontainer.
  • Anda tidak dapat menggunakan DMS untuk menimpa database yang sudah ada di SQL Server target pada VM Azure Anda.
  • Migrasi SQL Server tidak mendukung konfigurasi ketersediaan tinggi dan pemulihan bencana pada target Anda agar sesuai dengan topologi sumber.
  • Objek server berikut ini tidak didukung:
    • SQL Server Agent tugas
    • Credentials
    • paket Layanan Integrasi SQL Server (SSIS)
    • Audit server
  • Anda tidak dapat menggunakan runtime integrasi yang dihost sendiri yang sudah ada yang dibuat dari Azure Data Factory (ADF) untuk migrasi database dengan DMS.
  • VM dengan versi target SQL Server 2008 dan yang lebih lama tidak didukung saat bermigrasi ke SQL Server pada VM Azure.
  • Pendaftaran dengan ekstensi SQL IaaS Agent diperlukan untuk migrasi. Ekstensi hanya mendukung instans default atau instans bernama tunggal.
  • Anda dapat memigrasikan maksimum 100 database ke Azure VM yang sama dengan target menggunakan satu atau beberapa migrasi secara bersamaan. Selain itu, setelah migrasi dengan 100 database selesai, tunggu setidaknya 30 menit sebelum memulai migrasi baru ke SQL Server yang sama pada VM Azure sebagai target. Selain itu, setiap operasi migrasi (mulai migrasi, cutover) untuk setiap database membutuhkan waktu beberapa menit secara berurutan. Misalnya, untuk memigrasikan 100 database, mungkin perlu waktu sekitar 200 (2 x 100) menit untuk membuat antrean migrasi dan sekitar 100 (1 x 100) menit untuk memotong semua 100 database (tidak termasuk waktu pencadangan dan pemulihan). Oleh karena itu, migrasi menjadi lebih lambat saat jumlah database meningkat. Anda harus menjadwalkan jendela migrasi yang lebih lama terlebih dahulu berdasarkan pengujian migrasi yang ketat, atau mempartisi sejumlah besar database ke dalam batch saat memigrasikannya ke SQL Server pada VM Azure.
  • Selain mengonfigurasi Jaringan/Firewall akun Azure Storage Anda untuk memungkinkan VM Anda mengakses file cadangan, Anda juga perlu mengonfigurasi Jaringan/Firewall SQL Server Anda pada VM Azure untuk memungkinkan koneksi keluar ke akun penyimpanan Anda.
  • Anda perlu mengaktifkan target Azure VM saat migrasi SQL Server sedang berlangsung. Selain itu, saat membuat migrasi baru, lakukan failover atau batalkan migrasi yang sedang berlangsung.
  • Migrasi dari instans kluster failover (FCI) SQL Server saat ini tidak didukung.

Langkah selanjutnya