If-Koubou

Cadangkan dan Pulihkan Database Server SQL Anda dari Command Line

Cadangkan dan Pulihkan Database Server SQL Anda dari Command Line (Bagaimana caranya)

Bagian terpenting dari rencana pemeliharaan SQL Server adalah mencadangkan database Anda secara teratur. Untuk membuat cadangan basis data, Anda tidak dapat dengan mudah menyalin file-file MDF dan LDF dari basis data tersebut karena SQL Server memiliki kunci untuk ini. Sebagai gantinya, Anda perlu membuat file cadangan benar melalui SQL Server.

Sementara ini dapat dilakukan dengan mengembangkan Rencana Pemeliharaan di dalam SQL Management Studio, edisi Express SQL Server gratis tidak menawarkan antarmuka ini. Untuk mengatasi hal ini, Anda dapat dengan mudah membuat cadangan basis data Anda dengan menjalankan perintah di bawah ini saat masuk sebagai Administrator Windows:

SqlCmd -E -S Server_Name -Q "BACKUP DATABASE [Name_of_Database] UNTUK DISK =" X: PathToBackupLocation [Name_of_Database] .bak "”

Contoh di bawah ini akan membantu.

Contoh SQL Server standar:

SqlCmd -E -S MyServer -Q "BACKUP DATABASE [MyDB] KE DISK =" D: BackupsMyDB.bak "”

Contoh Server SQL bernama:

SqlCmd -E -S MyServerMyInstance -Q "BACKUP DATABASE [MyDB] KE DISK =" D: BackupsMyDB.bak "”

Di atas membuat salinan cadangan "MyDB" yang sepenuhnya dapat direstorasi 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 di komputer lokal. File cadangan ini kemudian dapat disalin ke tape drive atau lokasi cadangan eksternal lainnya.

Pertanyaan umum adalah "Dapatkah 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 layanan berjalan sebagai, tetapi ini sangat tidak disarankan karena alasan keamanan.

Mengembalikan Cadangan Basis Data dari Baris Perintah

Untuk memulihkan basis data 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 "RESTORE DATABASE [MyDB] FROM 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 ke MyDB sejak file cadangan dibuat akan hilang.

Suatu hal yang penting untuk diingat ketika menggunakan perintah di atas adalah bahwa ini dimaksudkan untuk digunakan pada SQL Server yang sama dengan file cadangan yang terkait. File cadangan SQL menyimpan informasi 'di balik 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. Sementara ini dapat dikerjakan, jauh lebih mudah untuk memulihkan backup yang dibuat pada SQL Server lain menggunakan alat SQL Management Studio.

Catatan: perintah di atas akan bekerja pada SQL 2005 dan lebih tinggi (setiap edisi). Untuk SQL 2000 dan sebelumnya, ganti 'SqlCmd' dengan 'oSql'.