Siapkan untuk pengujian migrasi

Artikel ini berfokus pada persiapan tim dan pembuatan file yang diperlukan oleh Alat Migrasi Data.

Diagram tahap persiapan uji coba yang disorot dari tujuh tahap migrasi.

Prasyarat

Selesaikan fase Validasi sebelum Anda mulai mempersiapkan migrasi uji coba.

Membuat pengaturan migrasi

Hasilkan spesifikasi migrasi dan file terkait untuk mengantrekan migrasi database koleksi Anda.

  1. Jalankan perintah persiapan Alat Migrasi Data dengan parameter berikut:

    /collection:http://localhost:8080/tfs/DefaultCollection/ tenantDomainName:contoso.com /Region:CUS

    • Gunakan opsi nama domain penyewa sebagai nama penyewa Microsoft Entra ID perusahaan Anda.
    • Perintah persiapan memerlukan akses internet. Jika Azure DevOps Server Anda tidak memiliki konektivitas internet, jalankan perintah dari komputer lain.
    • Istilah "wilayah organisasi" mengacu pada lokasi tempat Anda berencana untuk memigrasikan koleksi Anda ke Azure DevOps Services. Anda sebelumnya memilih wilayah dan merekam kode singkatnya. Gunakan kode ini dalam perintah siapkan.
  2. Masuklah dengan pengguna penyewa yang memiliki izin untuk membaca informasi tentang semua pengguna di tenant Microsoft Entra ID.

Mengonfigurasi file spesifikasi migrasi

File spesifikasi migrasi adalah file JSON yang menginstruksikan Alat Migrasi Data cara menyelesaikan tindakan berikut:

  • Mengonfigurasi organisasi yang dimigrasikan
  • Tentukan lokasi sumber
  • Menyesuaikan migrasi

Banyak bidang diisi secara otomatis selama langkah persiapan tetapi Anda harus mengonfigurasi bidang berikut:

  • Nama organisasi: Nama organisasi yang ingin Anda buat untuk memigrasikan data Anda.
  • Location: Cadangan file database dan migrasi Anda untuk diunggah ke kontainer penyimpanan Azure. Bidang ini menentukan kunci SAS yang digunakan oleh alat migrasi untuk menyambungkan dan membaca file sumber dengan aman dari kontainer penyimpanan Azure. Membuat kontainer penyimpanan dicakup nanti di Fase 5 dan menghasilkan kunci SAS tercakup dalam Fase 6 sebelum Anda memulai migrasi baru.
  • DACPAC: File yang mengemas database SQL koleksi Anda.
  • Jenis migrasi: Jenis migrasi: Uji coba atau Eksekusi produksi.

Setiap file spesifikasi migrasi dimaksudkan untuk satu koleksi tunggal. Jika Anda mencoba menggunakan file spesifikasi migrasi yang dihasilkan untuk koleksi lain, migrasi tidak dimulai. Anda perlu menyiapkan uji coba untuk setiap koleksi yang ingin Anda migrasikan dan menggunakan file spesifikasi migrasi yang dihasilkan untuk mengantre migrasi.

Meninjau file log peta identitas

Log peta identitas sangat penting, sama pentingnya dengan data aktual yang Anda migrasikan. Saat Anda memeriksa file log, pahami bagaimana fungsi migrasi identitas dan potensi hasilnya. Saat Anda memigrasikan identitas, identitas dapat aktif atau historis. Identitas aktif dapat masuk ke layanan Azure DevOps, sementara identitas historis tidak dapat. Layanan memutuskan jenis mana yang akan digunakan.

Catatan

Setelah identitas dimigrasikan sebagai identitas historis, Anda tidak dapat mengonversinya menjadi identitas aktif.

Identitas aktif

Identitas aktif mengacu pada identitas pengguna di layanan Azure DevOps pascamigrasi. Di Azure DevOps Services, identitas ini dilisensikan dan ditampilkan sebagai pengguna di organisasi. Identitas ditandai sebagai aktif di kolom Status Impor yang Diharapkan dalam file log peta identitas.

Identitas sejarah

File log peta identitas memperlihatkan identitas historis di kolom Status Impor yang Diharapkan . Identitas tanpa entri baris dalam berkas juga menjadi bagian dari sejarah. Contoh identitas tanpa entri baris mungkin adalah karyawan yang tidak lagi bekerja di perusahaan.

Tidak seperti identitas aktif, identitas historis:

  • Tidak memiliki akses ke organisasi setelah migrasi.
  • Tidak memiliki lisensi.
  • Jangan muncul sebagai pengguna di organisasi. Yang tetap ada adalah konsep nama identitas tersebut dalam organisasi, sehingga riwayatnya dapat dicari nanti. Gunakan identitas historis untuk pengguna yang tidak lagi bekerja di perusahaan atau yang tidak memerlukan akses lebih lanjut ke organisasi.

Catatan

Setelah identitas bermigrasi sebagai historis, Anda tidak dapat membuatnya aktif.

Lisensi

Selama migrasi, proses secara otomatis menetapkan lisensi untuk semua pengguna yang ditampilkan sebagai aktif di kolom Status Impor yang Diharapkan dari log pemetaan identitas. Jika penetapan lisensi otomatis salah, Anda dapat mengubahnya dengan mengedit tingkat akses satu atau beberapa pengguna setelah migrasi selesai.

Penugasan mungkin tidak selalu sempurna, jadi Anda memiliki waktu hingga tanggal satu bulan berikutnya untuk menetapkan ulang lisensi sesuai kebutuhan. Jika pada bulan pertama bulan berikutnya Anda tidak menautkan langganan ke organisasi Anda dan membeli jumlah lisensi yang benar, semua lisensi masa tenggang Anda dicabut. Atau, jika penetapan otomatis menetapkan lebih banyak lisensi daripada yang Anda beli untuk bulan depan, maka Anda tidak dikenakan biaya untuk lisensi tambahan, tetapi semua lisensi yang belum dibayar dicabut.

Untuk menghindari kehilangan akses, tautkan langganan dan beli lisensi yang diperlukan sebelum bulan pertama, karena penagihan berjalan setiap bulan. Untuk semua pengujian, lisensi gratis selama organisasi tersebut aktif.

langganan Azure DevOps

Visual Studio Subscriptions tidak diberikan secara default untuk migrasi. Sebagai gantinya, pengguna dengan Visual Studio Subscriptions secara otomatis ditingkatkan untuk menggunakan lisensi tersebut. Jika organisasi kerja pengguna ditautkan dengan benar, Azure DevOps Services secara otomatis menerapkan manfaat langganan Visual Studio mereka pada saat pertama kali masuk setelah migrasi.

Anda tidak perlu mengulangi migrasi uji coba jika pengguna tidak dimutakhirkan secara otomatis untuk menggunakan Langganan Visual Studio mereka di layanan Azure DevOps. Pengaitan langganan Visual Studio adalah sebuah kegiatan yang terjadi di luar lingkup migrasi. Jika organisasi kerja ditautkan dengan benar sebelum atau sesudah migrasi, maka pengguna secara otomatis akan memiliki lisensi mereka diperbarui saat masuk berikutnya. Setelah mereka ditingkatkan, pada migrasi berikutnya, pengguna secara otomatis ditingkatkan saat pertama kali masuk ke organisasi.

Membatasi akses ke IP Layanan Azure DevOps saja

Batasi akses ke akun Azure Storage Anda hanya ke IP dari Azure DevOps Services. Anda dapat membatasi akses hanya dengan mengizinkan koneksi dari IP layanan Azure DevOps yang terlibat dalam proses migrasi database pengumpulan. IP yang memerlukan akses ke akun penyimpanan Anda bergantung pada wilayah tempat Anda bermigrasi.

Opsi 1: Gunakan Tag Layanan

Anda dapat dengan mudah mengizinkan koneksi dari semua wilayah Layanan Azure DevOps dengan menambahkan tag layanan azuredevops ke grup keamanan jaringan atau firewall Anda baik melalui portal atau secara terprogram.

Opsi 2: Gunakan Daftar IP

Gunakan perintah IpList untuk mendapatkan daftar IP yang memerlukan akses untuk mengizinkan koneksi dari wilayah Azure DevOps Services tertentu.

Dokumentasi bantuan mencakup instruksi dan contoh untuk menjalankan Migrator dari instans Azure DevOps Server itu sendiri dan komputer jarak jauh. Jika Anda menjalankan perintah dari salah satu tingkat aplikasi instans Azure DevOps Server, perintah Anda harus memiliki struktur berikut:

Migrator IpList /collection:{CollectionURI} /tenantDomainName:{name} /region:{region} 

Anda dapat menambahkan daftar IP ke grup keamanan jaringan atau firewall Anda baik melalui portal atau secara terprogram.

Mengonfigurasi pengecualian firewall IP untuk SQL Azure

Bagian ini mencakup konfigurasi pengecualian firewall untuk SQL Azure. Untuk migrasi DACPAC, lihat Konfigurasi firewall Azure Storage dan jaringan virtual.

Alat Migrasi Data mengharuskan Anda mengonfigurasi IP Layanan Azure DevOps untuk koneksi masuk hanya pada port 1433.

Untuk memberikan pengecualian untuk IP yang diperlukan yang ditangani lapisan jaringan Azure untuk komputer virtual Azure SQL Anda, selesaikan langkah-langkah berikut:

  1. Masuk ke portal Azure.
  2. Buka komputer virtual Azure SQL Anda.
  3. Di Pengaturan, pilih Penjaringan.
  4. Pilih Tambahkan aturan port masuk. Screenshot tombol Tambahkan aturan port masuk pada halaman antarmuka jaringan SQL Azure VM Anda.
  5. Pilih Tingkat Lanjut untuk mengonfigurasi aturan port masuk untuk IP tertentu. Cuplikan layar tombol Tingkat Lanjut pada panel Tambahkan aturan keamanan masuk.
  6. Di daftar drop-down Sumber , pilih Alamat IP. Masukkan alamat IP yang memerlukan pengecualian. Atur Rentang port tujuan ke 1433. Dalam kotak Nama , masukkan nama yang paling tepat menggambarkan pengecualian yang Sedang Anda konfigurasi.

Bergantung pada aturan port masuk lainnya yang dikonfigurasi, Anda mungkin perlu mengubah prioritas default untuk pengecualian Layanan Azure DevOps, sehingga tidak diabaikan. Misalnya, jika Anda memiliki aturan "tolak pada semua koneksi masuk ke 1433" dengan prioritas yang lebih tinggi daripada pengecualian Layanan Azure DevOps Anda, Alat Migrasi Data mungkin tidak dapat membuat koneksi yang berhasil ke database Anda.

Cuplikan layar konfigurasi aturan port masuk yang telah selesai.

Ulangi penambahan aturan port masuk hingga semua IP Layanan Azure DevOps yang diperlukan memiliki pengecualian. Kehilangan satu IP dapat mengakibatkan migrasi Anda gagal dimulai.

Memigrasikan koleksi besar

Untuk database yang diperingatkan Alat Migrasi Data terlalu besar, pendekatan pengemasan data yang berbeda diperlukan untuk bermigrasi ke Azure DevOps Services. Jika Anda tidak yakin apakah koleksi Anda melebihi ambang ukuran, jalankan validasi Alat Migrasi Data pada koleksi. Validasi ini memungkinkan Anda mengetahui apakah Anda perlu menggunakan metode SQL Azure VM untuk migrasi.

Menentukan apakah Anda dapat mengurangi ukuran koleksi

Periksa apakah Anda dapat membersihkan data lama. Seiring waktu, koleksi dapat mengakumulasi data dalam volume besar. Pertumbuhan ini adalah bagian alami dari proses DevOps, tetapi Anda mungkin merasa tidak perlu menyimpan semua data. Beberapa contoh umum dari data yang tidak lagi relevan adalah ruang kerja yang lebih lama dan hasil build.

Alat Migrasi Data memindai koleksi Anda dan membandingkannya dengan batas yang disebutkan sebelumnya. Kemudian melaporkan apakah koleksi Anda memenuhi syarat untuk metode migrasi DACPAC atau SQL. Secara umum, jika koleksi Anda cukup kecil agar sesuai dengan batas DACPAC, Anda dapat menggunakan pendekatan DACPAC yang lebih cepat dan lebih sederhana. Namun, jika koleksi Anda terlalu besar, Anda perlu menggunakan metode migrasi SQL, yang melibatkan penyiapan SQL Azure VM dan memigrasikan database secara manual.

Batas ukuran

Batas saat ini adalah:

  • Ukuran total database 150 GB (metadata database + objek biner besar) untuk DACPAC. Jika Anda melebihi batas ini, Anda perlu melakukan metode migrasi SQL.
  • Ukuran tabel individu 30 GB (metadata basis data + blob) untuk DACPAC. Jika ada tabel tunggal yang melebihi batas ini, Anda perlu melakukan metode migrasi SQL.
  • Ukuran metadata database 1.536 GB untuk metode migrasi SQL. Melebihi batas ini mengeluarkan peringatan. Agar migrasi berhasil, pastikan ukuran tetap di bawah batas ini.
  • Ukuran metadata database 2.048 GB untuk metode migrasi SQL. Melebihi batas ini menghasilkan kesalahan, sehingga Anda tidak dapat melakukan migrasi.
  • Tidak ada batasan untuk ukuran blob untuk metode migrasi SQL.

Ketika Anda membersihkan artefak yang lebih tua dan tidak lagi relevan, Anda mungkin menghapus lebih banyak ruang dari yang Anda harapkan. Pembersihan ini dapat menentukan apakah Anda menggunakan metode migrasi DACPAC atau komputer virtual Azure SQL.

Penting

Setelah menghapus data yang lebih lama, Anda tidak dapat memulihkannya kecuali Anda memulihkan cadangan koleksi yang lebih lama.

Jika Anda berada di bawah ambang DACPAC, ikuti instruksi untuk membuat DACPAC untuk migrasi. Jika Anda masih tidak bisa mendapatkan database di bawah ambang DACPAC, Anda perlu menyiapkan SQL Azure VM untuk bermigrasi ke Azure DevOps Services.

Menyiapkan komputer virtual Azure SQL untuk bermigrasi ke Azure DevOps Services

Selesaikan langkah-langkah tingkat tinggi berikut untuk menyiapkan SQL Azure komputer virtual (VM) untuk bermigrasi ke Azure DevOps Services.

  1. Siapkan VM Azure SQL
  2. Konfigurasikan pengecualian firewall IP
  3. Memulihkan database Anda di VM
  4. Mengonfigurasi koleksi Anda untuk migrasi
  5. Mengonfigurasi file spesifikasi migrasi untuk menargetkan VM

Menyiapkan SQL Azure VM

Anda dapat dengan cepat menyiapkan SQL Azure VM dari portal Azure. Untuk informasi selengkapnya, lihat Gunakan portal Azure untuk menyediakan komputer virtual Windows dengan SQL Server.

Performa VM SQL Azure Anda dan disk data yang terpasang secara signifikan memengaruhi performa migrasi. Untuk alasan ini, selesaikan tugas-tugas berikut:

  • Pilih ukuran VM pada tingkat D8s_v5_* atau yang lebih besar.
  • Gunakan disk terkelola.
  • Konsultasikan performa mesin virtual dan disk. Pastikan infrastruktur Anda dikonfigurasi sehingga IOPS VM (input/output per detik) dan IOPS penyimpanan tidak menjadi hambatan pada performa migrasi. Misalnya, pastikan jumlah disk data yang terpasang pada VM Anda cukup untuk mendukung IOPS dari VM.

Layanan Azure DevOps tersedia di beberapa wilayah Azure di seluruh dunia. Untuk memastikan bahwa migrasi berhasil dimulai, sangat penting untuk menempatkan data Anda di wilayah yang benar. Jika Anda menyiapkan SQL Azure VM di lokasi yang salah, migrasi gagal dimulai.

Penting

VM Azure memerlukan alamat IP publik.

Jika Anda menggunakan metode migrasi ini, buat VM Anda di wilayah yang didukung. Meskipun Layanan Azure DevOps tersedia di beberapa wilayah di United States (AS), hanya wilayah United States Pusat yang menerima organisasi baru. Anda tidak dapat memigrasikan data Anda ke wilayah Azure AS lainnya sekarang.

Catatan

Pelanggan DACPAC harus berkonsultasi dengan tabel wilayah di bagian "Langkah 3: Unggah file DACPAC](migration-test-run.md#)". Pedoman sebelumnya hanya untuk SQL Azure VM. Jika Anda adalah pelanggan DACPAC, lihat wilayah Azure yang didukung untuk migrasi.

Gunakan konfigurasi komputer virtual Azure SQL berikut:

  • Konfigurasikan database sementara SQL untuk menggunakan drive selain drive C. Idealnya, drive harus memiliki ruang kosong yang cukup, setidaknya setara dengan tabel terbesar database Anda.
  • Jika database sumber Anda masih lebih dari 1 terabyte (TB) setelah Anda mengurangi ukurannya, Anda perlu melampirkan lebih banyak disk 1-TB dan menggabungkannya ke dalam satu partisi untuk memulihkan database Anda di VM.
  • Jika database koleksi Anda berukuran lebih dari 1 TB, pertimbangkan untuk menggunakan SSD (hard drive solid state) untuk database sementara dan database koleksi. Selain itu, pertimbangkan untuk menggunakan VM yang lebih besar dengan 16 CPU virtual (vCPU) dan RAM 128 GB (gigabyte) (memori akses acak).

Memulihkan database Anda di VM

Setelah menyiapkan dan mengonfigurasi VM Azure, Anda perlu mengambil cadangan yang dilepas dari instans Azure DevOps Server ke VM Azure Anda. Database koleksi perlu dipulihkan pada instans SQL Anda dan tidak mengharuskan Azure DevOps Server diinstal pada VM.

Mengonfigurasi koleksi Anda untuk migrasi

Setelah memulihkan database koleksi Anda di VM Azure Anda, konfigurasikan autentikasi SQL untuk memungkinkan Layanan Azure DevOps tersambung ke database dan memigrasikan data. Autentikasi ini hanya memberikan akses baca ke satu database.

  1. Buka SQL Server Management Studio pada VM, lalu buka jendela kueri baru untuk database yang ingin Anda migrasikan.

  2. Atur model pemulihan database menjadi sederhana:

    ALTER DATABASE [<Database name>] SET RECOVERY SIMPLE;
    
  3. Buat autentikasi SQL untuk database, dan tetapkan peran autentikasi tersebut TFSEXECROLE , seperti yang diperlihatkan dalam contoh berikut.

    USE [<database name>] 
    CREATE LOGIN <pick a username> WITH PASSWORD = '<pick a password>' 
    CREATE USER <username> FOR LOGIN <username> WITH DEFAULT_SCHEMA=[dbo] 
    EXEC sp_addrolemember @rolename='TFSEXECROLE', @membername='<username>'
    

Lihat contoh perintah SQL berikut:

    ALTER DATABASE [Foo] SET RECOVERY SIMPLE; 
     
    USE [Foo] 
    CREATE LOGIN fabrikam WITH PASSWORD = 'fabrikampassword' 
    CREATE USER fabrikam FOR LOGIN fabrikam WITH DEFAULT_SCHEMA=[dbo] 
    EXEC sp_addrolemember @rolename='TFSEXECROLE', @membername='fabrikam'

Penting

Dalam SQL Server Management Studio pada VM, aktifkan mode SQL Server dan Windows authentication. Jika Anda tidak mengaktifkan mode autentikasi, migrasi gagal.

Mengonfigurasi file spesifikasi migrasi untuk menargetkan VM

Perbarui file spesifikasi migrasi untuk menyertakan informasi tentang cara menyambungkan ke instans SQL Server. Buka file spesifikasi migrasi Anda dan buat pembaruan berikut:

  1. Hapus parameter DACPAC dari objek file sumber. Spesifikasi migrasi sebelum perubahan terlihat seperti contoh kode berikut.

    Cuplikan layar spesifikasi migrasi sebelum perubahan.

    Spesifikasi migrasi setelah perubahan terlihat seperti contoh kode berikut.

    Cuplikan layar spesifikasi migrasi setelah perubahan.

  2. Masukkan parameter yang diperlukan dan tambahkan objek properti berikut dalam objek sumber Anda dalam file spesifikasi.

    "Properties": 
    { 
        "ConnectionString": "Data Source={SQL Azure VM Public IP};Initial Catalog={Database Name};Integrated Security=False;User ID={SQL Login Username};Password={SQL Login Password};Encrypt=True;TrustServerCertificate=True"  
    }
    

Setelah Anda menerapkan perubahan, spesifikasi migrasi terlihat seperti contoh berikut.

Screenshot spesifikasi migrasi yang merujuk pada SQL Azure VM.

Spesifikasi migrasi Anda sekarang dikonfigurasi untuk menggunakan SQL Azure VM untuk migrasi. Lanjutkan dengan langkah-langkah persiapan lainnya untuk migrasi. Setelah migrasi selesai, pastikan untuk menghapus akun masuk SQL atau mengganti kata sandi. Microsoft tidak menyimpan informasi masuk setelah migrasi selesai.

Membuat Kontainer Azure Storage di pusat data yang dipilih

Menggunakan Alat Migrasi Data untuk Azure DevOps mengharuskan kontainer Azure Storage di pusat data Azure yang sama dengan organisasi layanan Azure DevOps akhir. Misalnya, jika Anda ingin organisasi Azure DevOps Services Anda dibuat di pusat data Central United States, buat kontainer Azure Storage di pusat data yang sama. Tindakan ini secara drastis mempercepat waktu yang diperlukan untuk memigrasikan database SQL, karena transfer terjadi dalam pusat data yang sama.

Untuk informasi selengkapnya, lihat Membuat akun penyimpanan.

Menyiapkan penagihan

Saat Anda memigrasikan organisasi Azure DevOps Services, organisasi baru mendapatkan masa tenggang. Gunakan waktu ini untuk menyelesaikan langkah apa pun dan memperbaiki penetapan lisensi. Jika Anda merasa ingin membeli lebih banyak paket pengguna, alur build atau penyebaran, atau layanan build yang dihosting, pastikan Anda memiliki langganan Azure yang siap ditautkan ke organisasi yang dimigrasikan. Masa tenggang berakhir pada hari pertama bulan berikutnya setelah Anda menyelesaikan migrasi Anda.

Fase pascamigrasi mengingatkan Anda kapan harus melakukan penghubungan. Langkah persiapan ini lebih tentang memastikan bahwa Anda tahu langganan Azure mana yang Anda gunakan di langkah selanjutnya. Untuk informasi selengkapnya, lihat Menyiapkan tagihan untuk organisasi Anda.

Langkah berikutnya