SSMS
 sql >> Teknologi Basis Data >  >> Database Tools >> SSMS

Migrasi Database SQL dengan SSMS

Migrasi MSSQL antar server dapat menjadi tantangan tanpa pedoman yang tepat untuk membuat Anda tetap pada jalurnya. Pada artikel ini, saya akan menguraikan berbagai cara untuk memigrasi database Microsoft SQL Server antar server atau instance. Baik Anda perlu memindahkan satu database,  banyak database, login, atau prosedur dan tampilan tersimpan, kami siap membantu Anda!

Ada banyak keadaan di mana Anda perlu memindahkan database atau memulihkan database. Alasan paling umum adalah:

  • Pindah ke server yang sama sekali baru.
  • Pindah ke instance SQL yang berbeda.
  • Membuat server pengembangan atau menayangkan langsung ke server produksi.
  • Memulihkan basis data dari cadangan.

Ada dua cara utama untuk memindahkan database SQL. Secara manual dengan Microsoft SQL Server Management Studio (SSMS) atau dengan baris perintah. Metode yang Anda pilih tergantung pada apa yang perlu Anda capai. Jika Anda memindahkan satu database atau hanya beberapa, mencadangkan dan memulihkan database secara manual dengan SSMS akan menjadi pendekatan yang paling mudah. Jika Anda memindahkan banyak database (pikirkan lebih dari 10) maka menggunakan metode baris perintah akan mempercepat prosesnya. Metode baris perintah membutuhkan lebih banyak pekerjaan persiapan sebelumnya, tetapi jika Anda mentransfer lusinan basis data, maka itu sepadan dengan waktu yang dihabiskan untuk mengonfigurasi skrip alih-alih memigrasi setiap basis data satu per satu. Jika Anda tidak yakin metode mana yang harus digunakan, coba pendekatan manual terlebih dahulu saat Anda merasa nyaman dengan prosesnya. Saya sarankan untuk membaca sampai tuntas untuk pemahaman metodologi yang lebih dalam.

Referensi Berguna untuk Terminologi

SSMS – Singkatan dari Microsoft S QL S erver M manajemen S tudio.

Server Sumber – Server atau instance tempat Anda memindahkan database dari atau mati .

Server Tujuan – Server atau instance tempat Anda memindahkan database ke .

Metode Manual

Memindahkan database SQL dengan cara manual bisa sangat mudah. Ini adalah proses pilihan untuk mentransfer beberapa atau lebih kecil database. Untuk mengikuti bagian panduan ini, Anda harus menginstal MSSQL, dan Microsoft SQL Server Management Studio (SSMS).

Mencadangkan Database di Server Sumber

1. Mulailah dengan masuk ke server Sumber (server tempat Anda memindahkan atau menonaktifkan basis data). Anda dapat membuka Microsoft SQL Server Management Studio dengan memilih Mulai> Microsoft SQL Server>  Microsoft SQL Server Management Studio .

2.Login ke server SQL menggunakan Otentikasi Windows atau Otentikasi SQL.

3. Perluas server (dalam kasus kami SQL01 ), perluas Database , pilih database pertama yang ingin Anda pindahkan (gambar di bawah).

4. Klik kanan pada database Anda dan pilih Tugas lalu klik Cadangkan .

5. Dari sini Anda sekarang berada di Back Up Database layar. Anda dapat memilih Jenis Cadangan seperti Penuh atau Diferensial , pastikan database yang benar dipilih, dan tetapkan tujuan untuk pencadangan SQL. Untuk contoh kita, kita dapat meninggalkan Cadangan Ketik sebagai Penuh .

6. Di bawah Cadangan Ketik , centang kotak untuk “Cadangan hanya-salin .” Jika Anda menjalankan DPM atau bentuk lain dari pencadangan server, pencadangan tanpa Hanya Salin flag akan menyebabkan pemutusan rantai log cadangan.

7. Anda akan melihat lokasi di bawah Tujuan untuk jalur cadangan baru. Biasanya Anda akan Menghapus entri ini lalu Tambah yang baru untuk memilih folder yang SQL memiliki akses baca/tulis. Menambahkan Tujuan Cadangan new baru menunjukkan jalur yang mirip dengan berikut:

C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup\

Jalur C:\ ini adalah tempat cadangan basis data Anda yang tersimpan. Catat lokasi ini untuk referensi nanti, karena ini adalah jalur default ke cadangan tersimpan dan harus memiliki akses baca/tulis yang tepat untuk layanan SQL.

Catatan:Pengguna tingkat lanjut mungkin nyaman meninggalkan tujuan apa adanya, asalkan izinnya benar pada folder keluaran.

8. Selanjutnya, tambahkan nama file di akhir jalur ini seperti AdventureWorks2012-081418 .bak – Pastikan untuk mengakhiri nama file dengan ekstensi .bak dan pilih OK

10. Setelah Anda menekan OK di Pilih Tujuan Cadangan prompt, Anda siap untuk membuat cadangan database! Yang perlu Anda lakukan sekarang adalah menekan OK , dan database akan mulai mencadangkan. Anda akan melihat bilah kemajuan di sudut kiri bawah, dan ketika pencadangan selesai, sebuah jendela akan muncul yang mengatakan 'Pencadangan database 'AdventureWorks2012' berhasil diselesaikan. '

Arahkan ke jalur tujuan, yang disebutkan sebelumnya, (dalam hal ini C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup\ ) Anda akan melihat file yang baru Anda buat (dalam hal ini AdventureWorks2012-081418.bak ) - Selamat! File ini adalah ekspor penuh database Anda dan siap untuk diimpor ke server baru. Jika Anda memiliki lebih banyak database, ulangi langkah-langkah di atas untuk setiap database yang Anda pindahkan. Setelah menyalin semua proses database ke langkah selanjutnya mengembalikan database ke server tujuan.

Memulihkan Database ke Server Tujuan

Anda sekarang harus memiliki file .bak dari semua database Anda di server sumber. File database ini perlu ditransfer ke server tujuan. Ada banyak cara untuk memindahkan data Anda ke server tujuan; Anda dapat menggunakan USB, Robocopy atau FTP. Setelah menyalin database, Anda dapat menyimpannya di server tujuan,  misalnya, kami telah menyimpannya di drive C dalam folder bernama C:\dbbackups .

1. Buka Microsoft SQL Server Management Studio.

2. Masuk ke server SQL menggunakan Otentikasi Windows atau Otentikasi SQL.

3. Perluas server dan klik kanan pada Database dan pilih Pulihkan Basis Data.

4. Pulihkan Basis Data layar terlihat sangat mirip dengan Back Up Database screen. Di bawah Sumber, Anda akan ingin memilih Perangkat bukannya Database . Memilih Perangkat memungkinkan Anda untuk memulihkan langsung dari file. Setelah Anda memilih Perangkat , klik ikon jelajah […]

5. Pilih Tambah , lalu navigasikan ke folder tempat file .bak Anda berada. (Dalam hal ini, C:\dbbackup ).

6. Pilih database .bak pertama yang ingin Anda pulihkan dan klik OK.

7. Klik Oke dan sekarang Anda siap untuk mengimpor database. Sebelum mengimpor, mari kita lihat bagian Opsi di sisi kiri. Di bawah Opsi, Anda akan melihat konfigurasi lain untuk memulihkan database seperti Menimpa Database yang Ada , Pertahankan Pengaturan Replikasi dan Batasi Akses ke Database yang Dipulihkan . Dalam hal ini, kami tidak mengganti database yang ada jadi saya akan membiarkan semua opsi ini tidak dicentang. Jika Anda ingin mengganti database yang ada (misalnya, database yang dicadangkan memiliki data yang lebih baru daripada di server tujuan atau Anda mengganti database pengembangan atau produksi), cukup pilih Timpa Database yang Ada .

Catatan:Pengguna tingkat lanjut mungkin nyaman meninggalkan tujuan apa adanya, asalkan izinnya benar pada folder keluaran.

8. Mengklik Oke memulai proses pemulihan seperti yang ditunjukkan oleh jendela sembulan yang bertuliskan 'Database 'AdventureWorks2012' berhasil dipulihkan.' Anda telah memigrasikan database Anda dari sumber ke server tujuan.

Ulangi proses ini untuk setiap database yang Anda migrasikan. Anda kemudian dapat memperbarui referensi jalur di skrip/aplikasi Anda untuk mengarah ke server baru, memverifikasi bahwa migrasi berhasil.

Memigrasikan Login Microsoft SQL Server

Setelah mengimpor database Anda jika Anda tidak dapat terhubung menggunakan login SQL Anda, Anda mungkin menerima kesalahan 'Login gagal untuk pengguna 'contoh.' (Microsoft SQL Server, Kesalahan:18456). ' Karena database berada dalam Login Tradisional dan Model Pengguna , login disimpan secara terpisah di server sumber dan kredensial tidak terkandung dalam database itu sendiri. Mulai saat ini, server tujuan dapat dikonfigurasi untuk menggunakan Contained Database User Model yang menyimpan login di database Anda dan keluar dari server sumber. Sampai saat itu, kita harus bergerak dan berinteraksi dengan pengguna sebagai bagian dari model Tradisional. Lanjutkan di bawah untuk melanjutkan migrasi pengguna SQL Anda.

Mencadangkan dan memulihkan database memang memindahkan hubungan login SQL Anda ke database (login Anda masih terkait dengan database yang benar dengan izin yang benar) tetapi login sebenarnya itu sendiri tidak ditransfer ke server baru. Anda dapat memverifikasi ini dengan membuka SSMS (SQL Server Management Studio) di server tujuan dan menavigasi ke Server> Keamanan> Masuk s. Anda akan melihat bahwa setiap login SQL khusus yang Anda buat di server sebelumnya tidak ditransfer ke sini, tetapi jika Anda pergi ke Server> Database> Database Anda (AdventureWorks2012 dalam kasus ini)> Keamanan> Pengguna Anda akan melihat login yang benar terkait dengan database.

Jika Anda memiliki satu atau dua pengguna SQL, Anda cukup menghapus asosiasi pengguna ke database di Server> Database> AdventureWorks2012> Keamanan> Pengguna , buat ulang pengguna di Server> Keamanan> Login dan memetakannya ke database yang tepat.

Jika Anda memiliki banyak login, Anda harus mengikuti proses tambahan yang diuraikan di bawah ini. Untuk memigrasikan semua pengguna SQL, buka Kueri Baru jendela di server sumber dan jalankan skrip berikut:

Skrip Masuk SQL

+

Skrip ini membuat dua prosedur tersimpan di database sumber yang membantu memigrasikan login ini. Buka jendela Kueri Baru dan jalankan perintah berikut:
EXEC sp_help_revlogin

Kueri ini mengeluarkan skrip yang membuat login baru untuk server tujuan. Salin output kueri ini dan simpan untuk nanti. Anda harus menjalankan ini di server tujuan.

Setelah Anda menyalin output kueri ini, login ke SSMS di server tujuan dan buka jendela Permintaan Baru. Rekatkan konten dari skrip sebelumnya (harus memiliki serangkaian baris yang terlihat mirip dengan -- Login:BUILTIN\Administrator
CREATE LOGIN [BUILTIN\Administrator] FROM WINDOWS WITH DEFAULT_DATABASE =[master]) dan tekan Execute.

Sekarang Anda telah berhasil mengimpor semua login SQL dan sekarang dapat memverifikasi bahwa database telah dimigrasikan ke server tujuan dengan menggunakan kredensial Anda sebelumnya.

Migrasi Tampilan dan Prosedur Tersimpan

Tampilan dan prosedur tersimpan akan bermigrasi dengan database jika Anda menggunakan cadangan SQL Tape biasa. Ikuti petunjuk di bawah ini jika Anda perlu memigrasikan tampilan dan prosedur tersimpan secara mandiri.

  1. Buka Microsoft SQL Management Studio di server Sumber.
  2. Masuk ke server SQL Anda.
  3. Perluas server dan juga Database .
  4. Klik kanan pada nama database Anda dan buka Tasks> Generate Scripts .
  5. Klik Berikutnya .
  6. Kami akan mengubah Skrip seluruh database dan semua objek database ke Pilih objek database tertentu dan hanya periksa Tampilan dan Prosedur Tersimpan.
  7. Klik Berikutnya, perhatikan opsi Simpan ke File. Catat jalur file yang terdaftar. Dalam kasus saya, ini adalah C:\Users\Administrator\Documents\script.sql - Jalur tampilan tersimpan dan prosedur tersimpan.
  8. Klik Berikutnya>> Berikutnya>>Selesai, dan pilih C:\Users\Administrator\Documents\script.sql dan salin ke server tujuan.
  9. Buka server tujuan, buka SSMS dan masuk ke server SQL.
  10. Buka File> Buka> File atau gunakan pintasan keyboard CTRL+O untuk membuka skrip SQL. Pilih file C:\Users\Administrator\Documents\script.sql untuk membukanya.
  11. Anda akan melihat skrip yang dihasilkan dari server sumber yang berisi semua tampilan dan prosedur tersimpan. Klik Jalankan atau gunakan pintasan keyboard F5 dan jalankan skripnya.
Catatan:Sayangnya, tidak ada cara bawaan untuk melakukan ini dengan baris perintah. Ada alat pihak ke-3 dan bahkan alat oleh Microsoft yang disebut mssql-scripter untuk skrip yang lebih canggih.

Anda sekarang telah memigrasikan tampilan dan prosedur tersimpan ke server tujuan Anda! Ulangi proses ini untuk setiap database yang Anda migrasikan. Sedikit panduan sangat membantu dalam administrasi database. Setiap server SQL akan memiliki konfigurasi dan hambatannya sendiri, tetapi kami harap artikel ini memberi Anda dasar yang kuat untuk Migrasi Microsoft SQL Server Anda.

Mencari Layanan SQL Platform-Independen Ketersediaan Tinggi yang mudah diskalakan dan dapat berkembang bersama bisnis Anda? Lihat SQL kami sebagai produk Layanan yang ditawarkan di Liquid Web. Bicaralah dengan salah satu Penasihat Hosting kami yang luar biasa untuk menemukan solusi sempurna bagi Anda!


No
  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. 'DATE' bukan nama fungsi bawaan yang dikenali

  2. SQL Server Management Studio:Buka tabel untuk Mengedit melalui pintasan keyboard

  3. Keluarkan UNTUK XML ke Varchar (maks)

  4. Studio Manajemen SQL Server tidak akan mulai - Jenis perpustakaan tidak dapat ditemukan

  5. TSQL Query mengembalikan nilai untuk setiap jam selama 24 jam terakhir