SQL Server menyediakan cara mudah untuk membuat cadangan database. Pencadangan dapat dilakukan dengan Transact-SQL, PowerShell, atau melalui GUI SQL Server Management Studio.
Di sini, saya akan mendemonstrasikan cara membuat cadangan menggunakan GUI Sistem Manajemen SQL Server, lalu menggunakan Transact-SQL, lalu terakhir, dengan SQL Server Powershell.
Buat Cadangan melalui GUI
-
Luncurkan Basis Data Pencadangan Kotak Dialog
Di Object Explorer, klik kanan pada database yang ingin Anda buat cadangannya, dan pilih Tasks> Back Up... dari menu kontekstual.
-
Tinjau Pengaturan Cadangan
Kotak dialog ini memberi Anda kesempatan untuk mengubah pengaturan apa pun jika diperlukan.
Untuk contoh kita, biarkan pada pengaturan default dan klik OK untuk membuat cadangan.
Anda dapat mengubah database di sini jika Anda tidak sengaja memilih yang salah pada langkah sebelumnya.
-
Pencadangan Selesai
Anda akan menerima pesan saat pencadangan selesai.
Klik Oke untuk menutup pesan dan kotak dialog.
File cadangan sekarang akan ditempatkan di lokasi yang ditentukan.
Backup Database Menggunakan Transact-SQL
-
Anda dapat melakukan pencadangan yang sama seperti di atas menggunakan SQL.
Untuk melakukannya, buka jendela kueri baru dan jalankan
BACKUP
pernyataan.BACKUP
pernyataan menerima berbagai opsi (seperti opsi GUI), tetapi Anda juga dapat menjalankan pencadangan sederhana dengan kode minimum.Kode Contoh
Di bawah ini adalah contoh skrip pencadangan sederhana yang menentukan basis data yang akan dicadangkan, dan lokasi untuk mencadangkannya.
Setelah menjalankan kode ini, file cadangan akan ditempatkan di lokasi yang ditentukan.
BACKUP DATABASE Music TO DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup\Music.bak';
Anda dapat melihat sintaks lengkap untuk
BACKUP
pernyataan di situs web Microsoft.
Cadangkan Database menggunakan PowerShell
SQL Server 2016 mendukung Windows PowerShell, yang merupakan shell scripting, biasanya digunakan untuk mengotomatisasi tugas administrasi dan penyebaran.
Bahasa PowerShell mendukung logika yang lebih kompleks daripada skrip Transact-SQL, yang memberi Anda kemampuan untuk membuat skrip yang lebih canggih untuk pencadangan dan tugas lainnya.
-
Buka PowerShell
Klik kanan pada database dan pilih Start Powershell .
-
Jalankan Perintah Pencadangan
Masukkan perintah untuk membuat cadangan dan tekan Enter (atau Kembali , tergantung pada keyboard Anda).
Pencadangan akan segera dijalankan.
Contoh Kode
Kode berikut akan membuat cadangan seperti contoh sebelumnya. Ganti saja
MyServer
dengan nama server Anda.Setelah menjalankan kode ini, file cadangan akan ditempatkan di lokasi default.
Backup-SqlDatabase -ServerInstance MyServer -Database Music
Anda juga dapat menentukan lokasi
Backup-SqlDatabase -ServerInstance MyServer -Database Music -BackupFile 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup\Music.bak'
Anda juga dapat menentukan
-BackupAction Database
untuk secara eksplisit menyatakan bahwa itu adalah cadangan penuh. Namun, ini adalah opsi default.Anda dapat melihat dokumentasi lengkap untuk
Backup-SqlDatabase
perintah di situs web Microsoft.
Menimpa File Cadangan
Jika Anda menjalankan semua contoh di atas persis seperti apa adanya, Anda mungkin memperhatikan bahwa setiap kali Anda menjalankannya, ukuran file dari file cadangan meningkat.
Ini karena setiap pencadangan yang berurutan menambahkan dirinya sendiri ke file yang ada.
Ini dilakukan karena kami menggunakan nama file yang sama, dan kami tidak secara eksplisit menentukan bahwa setiap cadangan harus menimpa file yang ada.
Ada opsi yang memungkinkan Anda untuk menimpa file yang ada.
- Menggunakan GUI , klik Opsi Media di menu sebelah kiri Back Up Database kotak dialog, dan pilih Timpa semua set cadangan yang ada di Timpa Media bagian.
- Menggunakan SQL tambahkan
WITH INIT
ke pernyataan SQL. - Menggunakan Powershell , tambahkan
-Initialize
sesuai perintah.
Menyimpan File Cadangan
Namun, sering kali merupakan ide yang baik untuk membuat cadangan lengkap dengan nama file yang unik (biasanya menyertakan tanggal dalam nama file). Memiliki nama file yang unik berarti setiap cadangan akan menjadi file yang terpisah.
Juga, tergantung pada ukuran database Anda, dan berapa banyak data baru yang dimasukkan ke dalamnya, Anda mungkin ingin melengkapi cadangan lengkap Anda dengan cadangan diferensial. Cadangan diferensial hanya menangkap data yang telah berubah sejak pencadangan penuh terbaru.