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).
BACKUP DATABASE [xyz]
TO DISK = 'C:\somepath\mybackupfile.bak'
MIRROR TO DISK = 'D:\somepath\myotherbackupfile.bak'
WITH FORMAT
, INIT
, SKIP
, STATS = 1;
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. Menentukan MIRROR TO
klausa mengharuskan Anda untuk menentukan FORMAT
kata kunci dalam WITH
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 menjadi WITH 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 dalam 1
persen kenaikan. Anda dapat mengubah nomor ini menjadi apa pun yang Anda suka. Saya menggunakan 1
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:
<path to sqlcmd>sqlcmd -S localhost -E -i C:\somefolder\BackupMyDB.sql
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:
RESTORE DATABASE [xyz]
FROM DISK = 'D:\somepath\myotherbackupfile.bak'
WITH RECOVERY
, STATS = 1;
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 menambahkan REPLACE
kata kunci ke WITH
klausa - Saya hanya ingin menekankan hati-hati.)