Memigrasikan database SQL dari Windows ke Linux


Tutorial ini memandu Anda melalui dua pendekatan berbeda untuk memigrasikan database SQL Server dari Windows Server ke Linux Server.

Halaman ini membahas metode berikut:

Metode migrasi yang ideal dipengaruhi oleh periode nonaktif yang dapat diterima untuk database tertentu dan ukurannya. Teknik yang paling sering digunakan adalah metode pencadangan dan pemulihan.

Biaya

Dalam dokumen ini, Anda akan menggunakan komponen Trusted Cloud by S3NSyang dapat ditagih berikut:

Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda, gunakan kalkulator harga.

Pengguna Trusted Cloud baru mungkin memenuhi syarat untuk mendapatkan uji coba gratis.

Setelah menyelesaikan tugas yang dijelaskan dalam dokumen ini, Anda dapat menghindari penagihan berkelanjutan dengan menghapus resource yang Anda buat. Untuk mengetahui informasi selengkapnya, lihat Pembersihan.

Sebelum memulai

Pastikan Anda memiliki:

  • Trusted Cloud Project dan Virtual Private Cloud (VPC) dengan konektivitas ke pengontrol domain Active Directory Anda.
  • Subnet yang akan digunakan untuk instance virtual machine (VM) Windows Server Failover Cluster (WSFC).

Untuk menyelesaikan panduan ini, Anda juga memerlukan Trusted Cloud by S3NS project:

  1. In the Trusted Cloud console, on the project selector page, select or create a Trusted Cloud project.

    Go to project selector

  2. Verify that billing is enabled for your Trusted Cloud project.

  3. Setelah menyelesaikan tutorial ini, Anda dapat menghindari penagihan berkelanjutan dengan menghapus resource yang Anda buat. Untuk informasi selengkapnya, lihat Pembersihan.

Bagian berikut membahas cara memigrasikan database SQL Server dari server berbasis Windows ke server berbasis Linux.

Mengimpor database SQL ke Linux

Bagian ini membahas cara mengekspor database SQL dari SQL Server berbasis Windows, dan mengimpornya ke SQL Server berbasis Linux menggunakan SQL Server Management Studio (SSMS).

Prasyarat

Untuk mengimpor database SQL ke Linux, Anda memerlukan hal berikut:

  • Komputer Windows dengan:

    • SQL Server diinstal.
    • SSMS telah diinstal.
    • Database SQL yang ingin Anda migrasikan ada di mesin ini. Tutorial ini menggunakan database AdventureWorks2022 sampel.
  • Mesin Linux yang telah menginstal SQL Server.

Mengekspor database SQL dari SQL Server berbasis Windows

Untuk mengekspor database SQL dari SQL Server berbasis Windows, gunakan langkah-langkah berikut:

  1. Di mesin Windows, buat folder baru di drive C: dan beri nama export (c:\export).
  2. Buka SSMS.
  3. Di jendela Connection, masukkan localhost, lalu klik Connect.
  4. Di Object Explorer, luaskan Databases.
  5. Klik kanan database target Anda, pilih Tasks, lalu klik Export Data-Tier Application.... Wizard Ekspor Data akan terbuka.

    Ekspor Data.

  6. Di wizard Export Data, pilih Next.

  7. Di tab Setelan, konfigurasi wizard Ekspor Data untuk menyimpan file paket cadangan (BACPAC) (.bacpac) ke disk lokal.

  8. Tentukan folder dan nama file, sebagai berikut:

    c:\export\MigrationFile.bacpac
    
  9. Klik Berikutnya.

  10. Tinjau setelan yang ditentukan, lalu klik Selesai untuk memulai proses ekspor. File .bacpac berhasil dibuat di lokasi yang Anda pilih. Sekarang Anda dapat mengimpornya ke SQL Server target.

Mengimpor database ke Linux

Untuk mengimpor database SQL ke SQL Server berbasis Linux, gunakan langkah-langkah berikut:

  1. Buka SSMS.
  2. Di jendela Connection, masukkan alamat IP server target, lalu klik Connect.
  3. Klik kanan folder Databases di Object Explorer, lalu pilih Import Data-tier Application....
  4. Tentukan file .bacpac yang dibuat dalam prosedur ekspor.

    c:\export\MigrationFile.bacpac
    
  5. Klik Berikutnya.

  6. Tentukan AdventureWorks2022.

    AdventureWorks2022
    
  7. Pastikan jalur data dan log menampilkan setelan default dari instance Linux.

  8. Klik Berikutnya.

  9. Tinjau setelan impor, lalu klik Selesai untuk memulai impor.

    Setelan impor file bacpac.

  10. Klik Tutup untuk menutup wizard impor. Database siap untuk koneksi.

Melakukan migrasi menggunakan pencadangan dan pemulihan SQL

Anda dapat memigrasikan database dari SQL Server di Windows ke SQL Server di Linux menggunakan fitur pencadangan dan pemulihan. Bagian ini memberikan panduan langkah demi langkah untuk membantu Anda mentransfer database ke lingkungan Linux menggunakan metode ini.

Prasyarat

Untuk memigrasikan database menggunakan metode pencadangan dan pemulihan, Anda memerlukan hal berikut:

Mencadangkan database di komputer Windows

Anda dapat mencadangkan database ke file dengan Windows menggunakan SSMS, sebagai berikut:

  1. Buka SSMS di komputer Windows.
  2. Di jendela Connection, masukkan localhost.
  3. Di Object Explorer, luaskan Databases.
  4. Klik kanan database target Anda, pilih Tasks, lalu klik Back Up....

    Buat Cadangan.

  5. Di jendela Cadangkan Database, pastikan Jenis cadangan disetel ke Penuh dan Cadangkan ke disetel ke Disk. Catat nama dan lokasi file cadangan. Misalnya, pencadangan database di SQL Server 2022 memiliki lokasi default C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\Backup.

    Opsi pencadangan database SQL.

  6. Klik Oke untuk memulai pencadangan.

Menyalin file cadangan ke mesin Linux Anda

Anda dapat menggunakan klien Secure Copy Protocol (SCP) untuk mengupload file cadangan ke mesin Linux Anda. Prosedur berikut menggunakan klien command line SCP. Namun, Anda juga dapat menggunakan WinSCP atau Git Bash Shell untuk mengupload file.

  1. Buka command prompt baru di komputer Windows Anda dan buka direktori yang berisi file cadangan yang dibuat di bagian Mencadangkan database di komputer Windows Anda. Contoh:

    cd 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\Backup\'
    
  2. Gunakan perintah scp untuk menyalin file ke mesin Linux target. Contoh berikut menggunakan file MigrationBackup.bak yang dibuat sebelumnya.

    scp MigrationBackup.bak sysadmin@LINUX_INTERNAL_IP:./
    

    Ganti LINUX_INTERNAL_IP dengan IP mesin Linux Anda.

    Salin file cadangan ke komputer target.

Memindahkan file cadangan

Untuk memulihkan database ke SQL Server di mesin Linux, Anda harus memastikan bahwa file cadangan berada di lokasi default yang dimiliki oleh pengguna mssql, yaitu, /var/opt/mssql.

Untuk memindahkan file cadangan ke direktori mssql, gunakan langkah-langkah berikut:

  1. Dari mesin Windows, hubungkan ke mesin Linux target menggunakan SSH.

    ssh sysadmin@LINUX_INTERNAL_IP
    

    Ganti LINUX_INTERNAL_IP dengan IP mesin Linux Anda.

  2. Buat direktori cadangan baru.

    sudo mkdir -p /var/opt/mssql/backup
    
  3. Pindahkan file cadangan ke direktori yang baru dibuat.

    sudo mv ~/MigrationBackup.bak /var/opt/mssql/backup
    

Memulihkan database

Anda dapat memulihkan database di mesin Linux menggunakan SSMS dengan langkah-langkah berikut:

  1. Buka SSMS di komputer Windows Anda.
  2. Di jendela Connection, masukkan alamat IP atau nama host mesin Linux.
  3. Tentukan informasi Login dan Sandi.
  4. Klik Connect.

    Pilih file cadangan yang akan dipulihkan.

  5. Di Object Explorer, klik kanan folder Databases, lalu pilih Restore Database...

  6. Di jendela Restore Database, tetapkan Source ke Device, klik ... untuk membuka dialog pemilihan cadangan.

  7. Pada dialog Pilih perangkat cadangan, klik Tambahkan.

  8. Di file browser, klik direktori \var\opt\mssql\backup, lalu pilih file cadangan yang diupload.

  9. Klik OK untuk menyetujui pilihan dan menutup dialog.

  10. Tinjau media cadangan yang terisi, lalu klik Oke.

    Pilih file cadangan yang akan dipulihkan.

Sebelum mulai memulihkan database di komputer Linux, Anda harus memperbarui lokasi file database yang dipulihkan di komputer Linux karena jalur dari server Windows tidak ada di server Linux.

  1. Di menu kiri, klik File.
  2. Pilih Relokasi semua file ke folder untuk memindahkan file yang dipulihkan ke direktori data default SQL Server.
  3. Klik OK untuk memulai proses pemulihan.
  4. Verifikasi pemulihan dengan mencantumkan semua database di server. Database yang dipulihkan akan dicantumkan.

    SELECT Name FROM sys.Databases
    GO
    
  5. Jalankan kueri lain di database yang dimigrasikan.

    USE AdventureWorks2022
    SELECT top 100 * FROM [Person].[Person]
    GO
    

Pembersihan

Setelah menyelesaikan tutorial, Anda dapat membersihkan resource yang dibuat agar resource tersebut berhenti menggunakan kuota dan dikenai biaya. Bagian berikut menjelaskan cara menghapus atau menonaktifkan resource ini.

Menghapus project

Cara termudah untuk menghilangkan penagihan adalah dengan menghapus project yang Anda buat untuk tutorial.

Untuk menghapus project:

  1. In the Trusted Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Langkah berikutnya