Saat ini, saya hanya punya satu file cadangan, IMTDB.bak, dan itu pada HDD yang sama dengan Database itu sendiri. Saya ingin meningkatkan redundansi cadangan DB ini dengan dasarnya "menyalin" ke disk lain, tetapi saya mendapatkan kesalahan "Pencadangan gagal untuk Server, media diformat untuk mendukung 2 keluarga media". Saya pikir ini berarti bahwa ketika saya membuat cadangan, itu hanya dimaksudkan untuk menempatkan cadangan pada satu drive, dan saya tidak dapat secara retroaktif menambahkan lebih banyak. Saya ingin memigrasikan cadangan ke drive lain ini (benar-benar salin saja), tetapi saya tidak ingin menghapus cadangan saat ini untuk melakukannya.
Apa yang saya lakukan? Apakah saya aman hanya menyalin IMTDB.bak ke folder di drive lain?
sumber
BACKUP DATABASE
untuk membuat cadangan ke dua lokasi secara bersamaan.Jawaban:
Karena Anda tidak terbiasa dengan perintah T-SQL
BACKUP DATABASE
, saya pikir saya akan menambahkan beberapa detail tentang itu.Anda mungkin ingin menjalankan sesuatu di sepanjang baris pernyataan berikut melalui layanan Penjadwal Tugas Windows, karena Anda tidak memiliki akses ke SQL Server Agent (saya melihat dari pertanyaan Anda yang lain, Anda menggunakan SQL Server Express).
Anda mungkin ingin sangat mempertimbangkan untuk memiliki
MIRROR TO
titik klausa ke beberapa lokasi yang tidak pada mesin lokal Anda, karena jika Anda kehilangan mesin lokal Anda sepenuhnya, Anda mungkin tidak dapat mengakses file cadangan. MenentukanMIRROR TO
klausa mengharuskan Anda untuk menentukanFORMAT
kata kunci dalamWITH
klausa saat pertama kali Anda menjalankan pernyataan cadangan itu.Anda dapat menggunakan nama Windows Share, seperti
\\SomeServer\SQLBackups\MyBackupFile.bak
selama izin keamanan pada share memungkinkan akses layanan Penjadwal Windows.Bagian
WITH FORMAT, INIT
memberitahu SQL Server untuk menimpa cadangan yang ada yang mungkin ada di file cadangan. Anda dapat mengubah ini menjadiWITH NOINIT
setelah Anda menyelesaikan cadangan mirror pertama jika Anda ingin beberapa cadangan (yaitu cadangan dari berbagai titik waktu) disimpan dalam file-file tersebut.NOSKIP
memberitahu SQL Server untuk tidak memeriksa kedaluwarsa cadangan, antara lain.STATS = 1
akan menampilkan output dalam1
persen kenaikan. Anda dapat mengubah nomor ini menjadi apa pun yang Anda suka. Saya menggunakan1
untuk database yang sangat besar karena memberikan beberapa indikasi kemajuan.Untuk menjalankan ini melalui layanan Penjadwal Tugas Windows, Anda harus menyimpan perintah itu (setelah Anda mengujinya di SQL Server Management Studio) ke file di disk Anda; sebut saja itu
C:\somefolder\BackupMyDB.sql
. Anda kemudian ingin menambahkan perintah berikut ke Penjadwal Windows:Anda ingin tugas itu "dijalankan sebagai" Anda.
Setelah Anda melakukan semua itu, Anda ingin sangat serius mempertimbangkan untuk mencoba memulihkan cadangan ke komputer lain sehingga Anda mengerti bagaimana melakukannya. Memiliki cadangan hanyalah satu bagian dari rencana pemulihan bencana; bagian yang bisa dibilang lebih penting adalah menguji rencana itu.
Proses pemulihan akan menggunakan perintah seperti:
Diperingatkan, berjalan
RESTORE DATABASE
di mesin tempat database Anda saat ini dapat menimpa database saat ini tanpa konfirmasi atau peringatan, jadi harap pastikan Anda dengan hati-hati mengevaluasi nama database,[xyz]
dalam contoh saya, dan opsi lain yang Anda gunakan. (Ini sebenarnya tidak akan menimpa database yang ada kecuali Anda menambahkanREPLACE
kata kunci keWITH
klausa - Saya hanya ingin menekankan hati-hati.)sumber
MIRROR
mengharuskan Anda untuk memformat file cadangan saat pertama kali menggunakannya, yang akan menghapus cadangan apa pun yang ada di file itu.Anda dapat menggunakannya
backup database .... MIRROR TO DISK =
untuk membuat cadangan basis data ke lokasi tambahan.Ya, Anda bisa melakukannya setelah cadangan selesai.
Catatan: Pastikan Anda menggunakan T-SQL sebagai lawan GUI yang memiliki opsi cadangan terbatas terbuka.
sumber
read_only
mode dan hanya mengambil satu cadangan terakhirCOMPRESSION
. Simpan di lokasi yang aman.