Cadangkan dan Kembalikan Database SQL Server Anda dari Baris Perintah
Bagian terpenting dari rencana pemeliharaan SQL Server adalah membuat cadangan basis data Anda secara teratur. Untuk membuat cadangan database, Anda tidak bisa hanya menyalin file MDF dan LDF masing-masing dari database karena SQL Server memiliki kunci pada ini. Sebaliknya, Anda perlu membuat file cadangan yang benar melalui SQL Server.
Sementara ini dapat dilakukan dengan mengembangkan Rencana Pemeliharaan di dalam SQL Management Studio, edisi SQL Server Express gratis tidak menawarkan antarmuka ini. Untuk mengatasinya, Anda dapat dengan mudah membuat cadangan basis data dengan menjalankan perintah di bawah ini saat masuk sebagai Administrator Windows:
SqlCmd -E -S Server_Name -Q “BACKUP DATABASE [Name_of_Database] TO DISK =" X: PathToBackupLocation [Name_of_Database] .bak ""
Contoh di bawah ini akan membantu.
Contoh SQL Server default:
SqlCmd -E -S MyServer -Q “BACKUP DATABASE [MyDB] TO DISK =" D: BackupsMyDB.bak ""
Contohnya SQL Server:
SqlCmd -E -S MyServerMyInstance -Q “BACKUP DATABASE [MyDB] TO DISK =" D: BackupsMyDB.bak ""
Di atas membuat salinan cadangan "MyDB" yang sepenuhnya dapat dipulihkan ke file "D: BackupsMyDB.bak" yang dapat digunakan untuk pemulihan bencana. Tentu saja, Anda dapat mengubah lokasi dan file cadangan ke apa pun yang Anda butuhkan, tetapi pastikan Anda menentukan lokasi folder yang ada pada mesin lokal. File cadangan ini kemudian dapat disalin ke tape drive atau lokasi cadangan eksternal lainnya.
Pertanyaan umum adalah "Bisakah file cadangan dibuat ke drive yang dipetakan atau lokasi UNC?" Dan jawaban cepatnya adalah tidak. Alasannya adalah karena SQL Server Windows Service berjalan sebagai akun pengguna yang hanya memiliki akses ke mesin lokal. Anda dapat mengubah akun yang digunakan layanan ini, tetapi ini sangat tidak disarankan karena alasan keamanan.
Mengembalikan Cadangan Database dari Baris Perintah
Untuk memulihkan database dari file cadangan, cukup gunakan perintah:
SqlCmd -E -S Server_Name -Q “RESTORE DATABASE [Name_of_Database] FROM DISK =" X: PathToBackupFile [File_Name] .bak ""
Sebagai contoh:
SqlCmd -E -S MyServer -Q “KEMBALIKAN DATABASE [MyDB] DARI DISK =" D: BackupsMyDB.bak ""
Perintah di atas akan mengembalikan cadangan "MyDB" dari data yang disimpan dalam file cadangan "D: BackupsMyDB.bak". Setiap perubahan yang dilakukan pada MyDB sejak file cadangan dibuat akan hilang.
Satu hal penting yang perlu diingat ketika menggunakan perintah di atas adalah bahwa itu dimaksudkan untuk digunakan pada SQL Server yang sama dengan masing-masing file cadangan dibuat. File cadangan SQL menyimpan informasi 'di belakang layar' yang mengontrol di mana dan bagaimana file data dalam file cadangan disalin. Jika Anda memulihkan cadangan dari SQL Server yang berbeda, lokasi jalur di file cadangan mungkin tidak cocok dengan server yang Anda pulihkan dan kesalahan akan terjadi. Meskipun ini bisa diselesaikan, jauh lebih mudah untuk mengembalikan cadangan yang dibuat pada SQL Server lain menggunakan alat SQL Management Studio.
Catatan: perintah di atas akan bekerja pada SQL 2005 dan lebih tinggi (edisi apa pun). Untuk SQL 2000 dan sebelumnya, ganti 'SqlCmd' dengan 'oSql'.