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.

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 Export 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 Anda 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 Hubungkan.

    Pilih file cadangan yang akan dipulihkan.

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

  6. Di jendela Pulihkan Database, tetapkan Sumber ke Perangkat, 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 tercantum.

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

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